我有一个包含模块的android项目 我在项目中添加了一个名为lib的库,然后我添加了一个jar(我在其他项目中创建的jar)。 然后点击文件 - >项目结构 - >选择我的模块 - >依赖 - >添加了jar依赖项。 当我尝试创建apk时,我收到以下错误:
任务执行失败':app:preDexDebug'。 com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'C:\ Program Files \ Java \ jdk1.8.0_60 \ bin \ java.exe''以非完成零退出值1
我已尝试将范围依赖关系更改为已提供,但没有帮助,
此外,我已经尝试创建新的模块,在jar中有一个依赖,这是行不通的。
我的build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.myprj"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:support-v4:22.2.0'
'com.sun.jersey:jersey-client:1.18.1'
'com.sun.jersey:jersey-json:1.18.1'
'org.codehaus.jackson:jackson-jaxrs:1.1.1'
'com.owlike:genson:0.99'
provided files('libs/MyJar.jar')
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.myprj"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:support-v4:22.2.0'
'com.sun.jersey:jersey-client:1.18.1'
'com.sun.jersey:jersey-json:1.18.1'
'org.codehaus.jackson:jackson-jaxrs:1.1.1'
'com.owlike:genson:0.99'
provided files('libs/MyJar.jar')
}
有什么建议?
我解决了我的问题,另一个jar用java 1.8设置编译,我把它改为1.7并重新创建了jar,这解决了我的问题。
答案 0 :(得分:1)
删除此行:
provided files('libs/MyJar.jar')
你已经将libs目录中的每个.jar包含在上面的几行中:
compile fileTree(include: ['*.jar'], dir: 'libs')
答案 1 :(得分:0)
上述错误意味着您正在使用重复的库 编译时间。
在gradle中添加库时始终只使用compile fileTree(include: ['*.jar'], dir: 'libs')
,并且永远不会添加您在provided files('libs/MyJar.jar')
中执行的同一个库的其他实例。