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”?

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