我试图向 Android 项目添加一个模块并使主模块依赖于它,但我收到了这个错误:
Error:Gradle: Execution failed for task ':app:preDexDebug'. com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_40\bin\java.exe'' finished with non-zero exit value 1
我有一个包含主模块应用程序的项目,并添加了一个模块 mylib 和应用程序依赖于 mylib。
安卓工作室 1.2.2。
设置.gradle:
包括':app', ':mylib'
来自应用程序的 build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "21.1.2"
compileOptions {
sourceCompatibility org.gradle.api.JavaVersion.VERSION_1_8
targetCompatibility org.gradle.api.JavaVersion.VERSION_1_8
}
...
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile project(':mylib')
}
来自 mylib 的 build.gradle:
apply plugin: 'java'
sourceCompatibility = org.gradle.api.JavaVersion.VERSION_1_8
targetCompatibility = org.gradle.api.JavaVersion.VERSION_1_8
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
}
JAVA_HOME 变量:
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_40
当我将 compile project(':mylib') 添加到 build.gradle 时,问题就开始了,有时是在我重建项目时,但总是在我尝试运行它时。 VERSION_1_8 语句不能解决问题。
有什么问题吗?非常感谢任何帮助。
最佳答案
我有同样的问题,我从这个纯 java 单元测试教程中找到了解决方案,它说 Android 目前支持的是 Java 1.7。
Adding pure Java unit tests to an Android project
简而言之,将你的java lib模块设置为1.7,那么你的mylib中的build.gradle可能会这样。
apply plugin: 'java'
dependencies {
sourceCompatibility = 1.7
targetCompatibility = 1.7
compile fileTree(dir: 'libs', include: ['*.jar'])
}
希望对您有所帮助。
关于java - 模块依赖导致错误 :Gradle: Execution failed for task ':app:preDexDebug' in Android Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31030943/