错误:Gradle:任务执行失败':app:preDexDebug'

Ker*_*sch 10 java android intellij-idea gradle build.gradle

我有一个自己创建的jar从另一个作为库导入到我的另一个项目中.当我更改该项目中的代码并导出一个新的jar来替换旧的时,我再也无法运行我的应用了.我只收到以下错误:

在此输入图像描述

我尝试删除,添加和添加为依赖项,添加为库.似乎没什么用.我也做了干净的构建和重建.

gMa*_*ale 25

过去我们看到过这个问题,当时我们的项目是用不同于编译库的Java版本编译的.神奇的数字只是用来识别类文件,使这里是没有问题的.问题是java版本(0034.0000 == Java 8).

最简单的方法是针对Java 6,这可能需要从代码中删除更新的语法.在我们的例子中,项目和库都是我们的,所以我们能够添加以下内容来强制我们需要的Java版本:

Android库

对于android库,将此代码添加到"android"扩展对象:

android {
    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_6
        targetCompatibility JavaVersion.VERSION_1_6
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

Java库

对于java库,在"顶级"添加此代码:

apply plugin: 'java'

version '1.8.1'
group   'com.yourcompany.package'

sourceCompatibility = JavaVersion.VERSION_1_6   //these two lines
targetCompatibility = JavaVersion.VERSION_1_6   //are the only ones that matter
Run Code Online (Sandbox Code Playgroud)

注意:最后两行是唯一重要的,我添加其他行只是为了显示这些行所属的位置,相对于gradle构建文件的其余部分.