mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-17 05:41:29 +02:00
Verbose log of yesterday's AAB build revealed:
java.lang.OutOfMemoryError: Java heap space
at java.util.zip.DeflaterOutputStream.write
at com.android.zipflinger.StreamSource.<init>
at com.android.builder.internal.packaging.AabFlinger$writeZip$1.call
AAB packaging streams compressed native libs through ByteArrayOutputStream
buffers. With universal-bundle (all 3 ABIs in one AAB) and parallel
ForkJoinPool workers all drawing from the same 6G heap, the peak exceeds
budget mid-zip. APK build doesn't hit this because per-ABI APKs are
packaged separately, much smaller per-file working set.
Two changes:
1) org.gradle.jvmargs: -Xmx6144M → -Xmx10240M, + MaxMetaspaceSize=1024M
(the daemon-side metaspace also creeps up over a long build).
2) org.gradle.workers.max=2 — fewer parallel workers = lower simultaneous
buffer footprint. Build still parallel, just gentler peak.
11 lines
518 B
Properties
11 lines
518 B
Properties
# AAB universal-bundle packaging (AabFlinger.writeZip) OOMs at 6G because
|
|
# parallel ForkJoinPool workers all share the heap while buffering compressed
|
|
# native libs. Bumped to 10G + capped worker count to flatten the peak.
|
|
# linux-beast Docker container has plenty of RAM; bump higher if needed.
|
|
org.gradle.jvmargs=-Xmx10240M -XX:MaxMetaspaceSize=1024M -Dfile.encoding=UTF-8
|
|
org.gradle.workers.max=2
|
|
android.enableR8=true
|
|
android.useAndroidX=true
|
|
android.enableJetifier=true
|
|
android.ndk.suppressMinSdkVersionError=21
|