আমি কেবল অ্যান্ড্রয়েড স্টুডিও ২.১ এ স্যুইচ করেছি এবং পূর্বে কাজ করা একটি অ্যাপ্লিকেশন সংকলনের চেষ্টা করার সময় এই ত্রুটিটি প্রকাশ পেয়েছে:
Error:Error converting bytecode to dex:
Cause: Dex cannot parse version 52 byte code.
This is caused by library dependencies that have been compiled using Java 8 or above.
If you are using the 'java' gradle plugin in a library submodule add
targetCompatibility = '1.7'
sourceCompatibility = '1.7'
to that submodule's build.gradle file.
আমি ইতিমধ্যে জাভা 1.7 কোড উত্পন্ন করার জন্য মূল প্রকল্পের গ্রেডল্ড বিল্ড ফাইলটি আপডেট করেছি:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
apply plugin: 'java'
sourceCompatibility = 1.7
targetCompatibility = 1.7
}
}
আমি জাভা সংস্করণটি সেট করতে মডিউল গ্রেডেলও তৈরি করেছি ild
android {
compileSdkVersion 19
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.abc.def"
minSdkVersion 19
targetSdkVersion 19
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
সাবমনডটি মাভেনকে নিয়ে নির্মিত হচ্ছে। Pom.xML ফাইলটিতে আমি 1.7 কোড উত্পন্ন করার চেষ্টা করেছি।
আমি বুঝতে পারি যে আমি একটি অ্যাসেম্বলিটি আর্টিক্ট ব্যবহার করছি, যা অধস্তন মডিউলগুলি অন্তর্ভুক্ত করে, তবে আমি অধীনস্থ মডিউলগুলির কোনও পরিবর্তন করি নি এবং মডিউলের জন্য ফলাফলের .jar ফাইলটি গতবার সংকলন করার পরে ঠিকঠাক হয়ে গেছে।
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId> <!-- maven-compiler-plugin -->
<version>2.6</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
আমার প্রশ্ন: 1) এটি একটি অ্যান্ড্রয়েড স্টুডিও 2.1 সমস্যা? অন্যরা কি দেখেছেন? 2) এটি আমার ত্রুটি হিসাবে ধরে নেওয়া এবং যেহেতু ত্রুটি বার্তাটি খারাপ মডিউলটি খুঁজে পেতে কোনও সহায়তা দেয় না, তাই ভি 5 2 কোড সন্ধানের জন্য কোনও প্রস্তাবনা রয়েছে? আমি প্রচুর পরিমাণে কোড না ভেঙে লাইব্রেরিগুলি বাদ দিতে পারি না। কোড রিভিশনটি অনুসন্ধান করতে কেউ কি .jar ফাইলটি পরীক্ষা করতে পারে? আগাম ধন্যবাদ. -হেফেস্টাস