此篇文章引用于:http://www.jacpy.com/2016/04/22/android-studio-error-collection.html
编译的代码过多导致内存不足(finished with non-zero exit value 3):
主要表现为编译后出现finished with non-zero exit value 3 错误,原因是因为编译的java代码过多,通常是方法数超过65535后使用了分包的机制,gradle在编译的时候由于编译的内存需要不能满足而导致错误。具体报错内容如下所示:
1
2
3
4
5
6
Error:java.lang.OutOfMemoryError: GC overhead limit exceeded
Error:Execution failed for task ':app:transformClassesWithDexForRelease'.
com.android.build.api.transform.TransformException:
com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException:
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException:
Process 'command 'C:\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 3
解决方案是在gradle文件中的android代码块内增加如下内容即可解决:
1
2
3
4
5
6
7
8
android {
// ...
dexOptions {
javaMaxHeapSize "4g"
}
}