Android Studioで ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded

環境

Android Studio 3.0.1
Build #AI-171.4443003, built on November 10, 2017
JRE: 1.8.0_152-release-915-b08 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.12.6

Java 8

現象

とあるプロジェクトにライブラリ追加したりコード書いたりしてビルドしたら以下のエラーが出てビルドできなくなった。

Information:Gradle tasks [clean, :app:assembleStaging]
Error:Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded
Error:Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded
Error:Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded
Error:Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded
Error:4 errors; aborting
Error:Execution failed for task ':app:transformClassesWithDexForStaging'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.android.dx.command.Main with arguments {--dex --num-threads=4 --multi-dex --main-dex-list /Users/xxxxxx/dev/xxxxxxx/app/build/intermediates/multi-dex/staging/maindexlist.txt --output /Users/xxxxxxxxxxxxx/app/build/intermediates/transforms/dex/staging/folders/1000/1f/main /Users/xxxxx/dev/xxxxxxxx/app/build/intermediates/transforms/jarMerging/staging/jars/1/1f/combined.jar}
Information:BUILD FAILED in 2m 25s
Information:6 errors
Information:0 warnings
Information:See complete output in console

ビルドで OutOfMemoryError だと...?

そんな重いことしてないはず。

RxJava, RxAndroid, Retrofitライブラリを追加しただけなのに!

ググる

情報でた

stackoverflow.com

解決方法

app/build.gradleに以下を追加してメモリを抑える

android {

    dexOptions {
        javaMaxHeapSize "4g"
    }
}

ビルドしてみると、、、ビルド通った!

ビルド完了!!

めでたしめでたし