android 项目:进程以非零退出值 2 结束
android project: process finished with non-zero exit value 2
我无法编译我的 android 项目。 Google 和其他 SO 帖子告诉我它(可能)与依赖关系有关,但我找不到位置。这是错误:
Error:Gradle: Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 2
和我的 gradle 文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.skate.socialskate"
minSdkVersion 21
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.google.android.gms:play-services:7.3.0'
compile 'com.google.apis:google-api-services-youtube:v3-rev136-1.20.0'
compile 'com.android.support:cardview-v7:22.1.0'
compile 'com.android.support:recyclerview-v7:21.0.+'
compile 'de.hdodenhof:circleimageview:1.2.1'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.fasterxml.jackson.core:jackson-databind:2.2.+'
compile 'com.fasterxml.jackson.core:jackson-core:2.2.+'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.2.+'
compile 'org.jsoup:jsoup:1.8.2'
compile 'com.github.shell-software:fab:1.1.0'
compile 'com.google.api-client:google-api-client:1.18.0-rc'
}
当我将一些 class 文件重构为库项目并且我有一个 class 文件的重复名称时,这发生在我身上。所以,仔细检查你没有任何重复的名字。
Android工作室建议,
Avoid using + in version numbers can lead to unpredictable and unrepeatable builds.
+ in dependencies lets you pick up automatically the latest available version rather than a specific one, however this is not recommended.
You may have tested with a slightly different version than what build server used.
在删除加号和添加特定版本后,我的问题已解决。
在我的例子中,我写在 build.gradle
解析快速指南中的依赖项
dependencies{
compile 'com.parse.bolts:bolts-android:1.+'
compile 'com.parse:parse-android:1.+'
}
然后我用
代替
dependencies {
compile 'com.parse.bolts:bolts-android:1.+'
compile fileTree(dir: 'libs', include: 'Parse-*.jar')
}
保存更改,重新启动 android 工作室和 运行 项目。它适用于我的情况。
我在 build.gradle 文件中使用过这个命令。
configurations {
all*.exclude group: 'com.android.support', module: 'support-v4'
}
它已经解决了这个 "non-zero-exit-value" 和另一个 'duplicate entry during packageAllDebugClassesForMultiDex'。
发生在我身上的日期是 07/08/2016.
更新到最新的 android studio 后,我刚收到这个确切的错误。
我通过 更新 我的 java jdk [=18= 解决了这个问题] 从 java jdk 7 到 java jdk 8.
现在我的构建工作正常。我认为 android studio 的最新版本需要 jdk 8…
我无法编译我的 android 项目。 Google 和其他 SO 帖子告诉我它(可能)与依赖关系有关,但我找不到位置。这是错误:
Error:Gradle: Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 2
和我的 gradle 文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.skate.socialskate"
minSdkVersion 21
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.google.android.gms:play-services:7.3.0'
compile 'com.google.apis:google-api-services-youtube:v3-rev136-1.20.0'
compile 'com.android.support:cardview-v7:22.1.0'
compile 'com.android.support:recyclerview-v7:21.0.+'
compile 'de.hdodenhof:circleimageview:1.2.1'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.fasterxml.jackson.core:jackson-databind:2.2.+'
compile 'com.fasterxml.jackson.core:jackson-core:2.2.+'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.2.+'
compile 'org.jsoup:jsoup:1.8.2'
compile 'com.github.shell-software:fab:1.1.0'
compile 'com.google.api-client:google-api-client:1.18.0-rc'
}
当我将一些 class 文件重构为库项目并且我有一个 class 文件的重复名称时,这发生在我身上。所以,仔细检查你没有任何重复的名字。
Android工作室建议,
Avoid using + in version numbers can lead to unpredictable and unrepeatable builds.
+ in dependencies lets you pick up automatically the latest available version rather than a specific one, however this is not recommended.
You may have tested with a slightly different version than what build server used.
在删除加号和添加特定版本后,我的问题已解决。
在我的例子中,我写在 build.gradle
解析快速指南中的依赖项
dependencies{
compile 'com.parse.bolts:bolts-android:1.+'
compile 'com.parse:parse-android:1.+'
}
然后我用
代替dependencies {
compile 'com.parse.bolts:bolts-android:1.+'
compile fileTree(dir: 'libs', include: 'Parse-*.jar')
}
保存更改,重新启动 android 工作室和 运行 项目。它适用于我的情况。
我在 build.gradle 文件中使用过这个命令。
configurations {
all*.exclude group: 'com.android.support', module: 'support-v4'
}
它已经解决了这个 "non-zero-exit-value" 和另一个 'duplicate entry during packageAllDebugClassesForMultiDex'。
发生在我身上的日期是 07/08/2016.
更新到最新的 android studio 后,我刚收到这个确切的错误。
我通过 更新 我的 java jdk [=18= 解决了这个问题] 从 java jdk 7 到 java jdk 8.
现在我的构建工作正常。我认为 android studio 的最新版本需要 jdk 8…