在我的项目中使用jar时出错

时间:2016-04-06 08:13:43

标签: java android

我使用Java 1.8来创建我的jar。

我可以在Java项目中使用它,但在Android项目中,我有以下错误:

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.
Error:1 error; aborting
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'E:\Android-tool\JAVA\jdk1.8.0_77\bin\java.exe'' finished with non-zero exit value 1
Information:BUILD FAILED
Information:Total time: 6.468 secs
Information:3 errors
Information:0 warnings
Information:See complete output in console

4 个答案:

答案 0 :(得分:0)

将这些内容添加到模块的build.gradle

android {
    buildToolsVersion "24rc4"

    defaultConfig {
        jackOptions {
            enabled true
        }
    }
    dexOptions {
        incremental true
    }

    compileOptions {
        sourceCompatibility = org.gradle.api.JavaVersion.VERSION_1_8
        targetCompatibility = org.gradle.api.JavaVersion.VERSION_1_8
    }
}

答案 1 :(得分:0)

陷入同样的​​境地。这就是我做的。 1.从此链接Oracle Java 1.7

下载Jdk 1.7
  1. 现在,下载并安装后,请转到系统属性(我的电脑),然后转到高级系统属性。
  2. 转到环境变量并将路径home和java home更改为新安装的jdk 1.7。
  3. 现在应该可以正常工作了。如果没有,请按照以下步骤操作:

    1. 切换到Android工作室,然后右键单击您的模块。转到模块设置/项目结构。
    2. 现在转到模块部分并指定源和目标兼容性为1.7
    3. 对我来说就像一个魅力。 PS。 - 抱歉这么晚的回答

答案 2 :(得分:0)

如果是多应用程序项目中的Java库,请使用库的build.gardle文件中提到的代码。

apply plugin: 'java'
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
compileJava.options.bootClasspath = "D:/android/sdk/platforms/android-23/android.jar"
...
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
...
}

您需要使用本地路径更改compileJava.options.bootClasspath到android.jar文件。这适用于Win10中的AS 2.2。 有关更多参考资料,请访问here

答案 3 :(得分:-1)

如果错误中自我解释:

  

这是由使用编译的库依赖项引起的   Java 8或更高版本。如果你正在使用' java'一个gradle插件   library submodule add targetCompatibility =' 1.7' sourceCompatibility   =' 1.7'到该子模块的build.gradle文件。