2017年年尾,在倍优天地的2年工作告一段落,公司业务整改,技术部整体协议离职。
2018年入职新的公司,入职第一天导入项目,碰到不可能避免的版本问题造成的编译保存问题,一痛整改最后还有一个问题:
Error:Execution failed for task ':app:transformClassesWithDexForDebug'
3个错误non-zero exit value 1;non-zero exit value 2;non-zero exit value 3
错误1 结尾是 non-zero exit value 1
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'F:\Program Files (x86)\Java\jdk1.8.0_31\bin\java.exe'' finished with non-zero exit value 1
这个是因为存在包重复问题,例如你所依赖的第三方库中 已经包含v4包,而自己又添加了一遍v4包的依赖,就会出现这个错误,删掉一个依赖即可
错误2 结尾是 non-zero exit value 2
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'F:\Program Files (x86)\Java\jdk1.8.0_31\bin\java.exe'' finished withnon-zero exit value 2
这个问题是说明引入的jar包冲突,dex突破65535的限制 。解决方式就是在build.gradle配置如下:
defaultConfig {
// dex突破65535的限制
multiDexEnabledtrue
}
错误3 结尾是 non-zero exit value 3
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'F:\Program Files (x86)\Java\jdk1.8.0_31\bin\java.exe'' finished withnon-zero exit value 3
这个错误就在bulid.gradle里面加上这句,再rebuild ,之后再运行就行了。4g可以看电脑配置修改(2g,3g,6g,8g)
dexOptions {
javaMaxHeapSize "8g" //set the max heap size for dexing to 4GB.
}
网友评论