Android Studio 在打包过程中出现OOM

在接手新项目要打包发布APK时,输入了gradle clean assembleRelease指令后,项目就开始漫长了编译打包阶段。以往打包(默认一个渠道包)也就2~3分钟,但是昨天晚上却要6分钟之多,最后报一个异常:Execution failed for task  'app:transformClassesWithDexForRelease'.

>com.adnroid.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:java.lang.OutOfMemoryError:GC overhead limit exceeded.

以上就是异常信息,造成异常的原因是Android studio分配的内存不够,解决办法如下:

1、在主module的build.gradle中android闭包添加如下代码

dexOptions {
    javaMaxHeapSize "6g"
}

2、在项目的gradle.properties中添加如下代码:

org.gradle.daemon=true # 开启Gradle守护进程
org.gradle.jvmargs=-Xms2048m -Xmx6656m
#-Xms2048m初始的java内存堆大小2048M; -Xmx6144m最大的java内存堆大小
这样就行了!!!

有人问:6g、6656m能不能自己更改,明确告诉你,可以的!但是注意一个问题,-Xmx不能少于javaMaxHeapSize设定的值。

参考文章:Android studio遇到 java.lang.OutOfMemoryError: GC app:transformClassesWithDexForDebug解决方法 以及gradle优化

Android Gradle: What is javaMaxHeapSize “4g”?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章