My android project is bigger and bigger.
I faced the OOM exception.
<span>Exception in thread "Daemon client event forwarder" java.lang.OutOfMemoryError: Java heap space</span>
<span>at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.addConditionWaiter(AbstractQueuedSynchronizer.java:1896)</span>
<span>at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2114)</span>
<span>at java.base/java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:458)</span>
<span>at org.gradle.launcher.daemon.server.exec.DaemonConnectionBackedEventConsumer$ForwardEvents.getNextEvent(DaemonConnectionBackedEventConsumer.java:72)</span>
<span>at org.gradle.launcher.daemon.server.exec.DaemonConnectionBackedEventConsumer$ForwardEvents.run(DaemonConnectionBackedEventConsumer.java:59)</span>
<span>ERROR:R8: java.lang.OutOfMemoryError: Java heap space</span>
<span>> Task :myproj:minifyStageReleaseWithR8 FAILED</span><span>> Task :myproj:minifyStageReleaseWithR8</span>
So I increased the heap size:
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
But It failed with:
Container 'Build' exceeded memory limit.
My `.yml` file is:
image: androidsdk/android-30
pipelines:
custom:
QA:
- parallel:
- step:
name: Build APK
size: 2x
script:
- echo "$KEYSTORE_FILE_BASE64" | base64 -d > android-signing-keystore.jks
- ./gradlew clean assembleStageRelease
in case of
* low heap size -> OOM
* large heap size -> exceeded memory limit
What should I do?