Java 1.7兼容android studio中的库

时间:2017-01-14 08:13:25

标签: java android build.gradle

我想在我的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部分?

2 个答案:

答案 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。这可能只是这个版本的问题,因此您可以尝试使用以前的版本,直到他们解决问题。