概要
macOS を Mojave から Catalina へアップデート後、 Android アプリをビルドすると
GC overhead limit exceeded
というエラーが出るようになってしまいました。。。🤔
原因を突き止めたので書き残しておきます。
原因(ぼくの環境の場合)
いきなり結論を。
Android Studio の Memory Settings が初期化されていたせいでした…
赤枠の項目が 空白 になっていました。
こちらを設定したら無事ビルドできるようになりました! 🎉
他に確認したこと
「GC overhead limit exceeded」 で調べるといろいろヒットすると思います🔎
build.gradle に javaMaxHeapSize を定義しているか
build.gradle
android {
dexOptions {
javaMaxHeapSize "2g"
}
}
Android開発中にGC overhead limit exceededで逝く
こちらの記事に詳しく書かれています。
ぼくの build.gradle には既に定義されていました…。
gradle.properties に jvmargs を定義しているか
[stackoverflow] java.lang.OutOfMemoryError: GC overhead limit exceeded on Android 1.4
途方に暮れていたらこちらの stackoverflow にたどり着きました。
gradle.properties
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
確認してみると定義されていませんでした❗️キタ❗️これでビルドできるー🙌
ウキウキで gradle.properties に追記してビルドボタンぽちっ❗️
ダメでした…。
各値を書き換えてみたりしましたがビルドできずでした。。
おわりに
こちらの記事が誰かの助けになると幸いです🙏