java中有3个项目:android app,backend api,backend server。我在android studio中得到dex错误。 com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
因为android不能用1.8而spring需要1.8。
Android应用程序和后端服务器都依赖于后端api。该应用程序应使用1.7编译,后端服务器应编译为1.8。
这意味着api应该用1.7和1.8编译。
我的第一次尝试是创建2个不同的工件,但它不起作用。
这是我的配置:
settings.gradle
include ':backend:api', ':app', ':backend:server'
后端/ API /的build.gradle
apply plugin: 'java'
sourceSets {
main1_7
}
compileJava {
targetCompatibility = 1.8
}
compileMain1_7Java {
targetCompatibility = 1.7
}
jar {
archiveName = "api-jdk1.8.jar"
}
task jarMain1_7(type: Jar) {
archiveName 'api-jdk1.7.jar'
from sourceSets.main.output
}
configurations {
archives1_7
}
artifacts {
archives1_7 jarMain1_7
}
应用/的build.gradle
// ...
android {
// ...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
dependencies {
compile project(path: ':backend:api', configuration: 'archives1_7')
// ...
}
第二次尝试是将api targetCompatibility设置为1.7
后端/ API /的build.gradle
apply plugin: 'java'
compileJava {
targetCompatibility = 1.7
}
但这给了我javacTask: target release 1.7 conflicts with default source release 1.8
。
我不知道如何解决它:(。请帮助我。 非常感谢你。