我想在我的android studio项目中使用this库但是当我使用gradle将它添加到项目中时它会显示以下错误
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.
似乎是因为java 1.7兼容性,但我不知道如何解决它。 Android studio建议将targetCompatibility ='1.7'sourceCompatibility ='1.7'添加到该子模块的build.gradle中,但如何将其添加到gradles dependencies部分?
答案 0 :(得分:1)
您应该使用VERSION_1_8
代替VERSION_1_7
安装 JDK 1.8
你应该添加这个
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
<强> FYI 强>
使用前 1_8 请阅读 Use Java 8 Language
要为项目启用Java 8语言功能和Jack,请在模块级build.gradle文件中输入以下内容:
android {
...
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
清理重建和运行
答案 1 :(得分:1)
版本52实际上是Java 8。 该库是在没有Java 7兼容性的情况下编译的,因此如果您的目标是Java 7或更低版本,则无法使用它。
我看到他们的GitHub上有一个open issue。这可能只是这个版本的问题,因此您可以尝试使用以前的版本,直到他们解决问题。