Skip to content

Instantly share code, notes, and snippets.

@verNANDo57
Last active November 14, 2023 20:04
Show Gist options
  • Save verNANDo57/d76bb6e6e4b887101cf5a1cf64c66cef to your computer and use it in GitHub Desktop.
Save verNANDo57/d76bb6e6e4b887101cf5a1cf64c66cef to your computer and use it in GitHub Desktop.
Workarounds for building Android 11 on 8GB RAM
Workarounds for building R on 8GB RAM environment:
1. At the start of the build:
[ 99% 138/139] /mnt/ssd/lineage/out/soong/.bootstrap/bin/soong_build /mnt/ssd/lineage/out/soong/build.ninja
This used to take around 30mins, after enabling zram now it takes around 30secs (thanks to @kdrag0n for the zram idea) which is on par with what happens in 16GB RAM building environments
sudo apt install zram-config for installing zram-config package
sudo nano /etc/fstab and add a # in front of the swap disk if you have one and then reboot
After booting cat /proc/swaps to check if zram is enabled or not
2. To avoid issues while building metalava (outOfMemoryException: java heap space)
Pick this commit --> https://github.com/verNANDo57/android_build_soong/commit/5743f1ba9d95ff9c1f418066dcfdde9197c53a5a
3. To avoid huge metalava compilation times, compile the api-stubs-docs and other packages manually first then continue with mka bacon etc
For example this is what I'm using now in LineageOS:
. build/envsetup.sh && lunch lineage_joyeuse-userdebug & mka api-stubs-docs & mka module-lib-api-stubs-docs & mka system-api-stubs-docs & mka test-api-stubs-docs & mka bacon
Each of those api-stubs-docs, module-lib-api-stubs-docs etc took around 4-7 mins
Increasing of heap from soong directory or other env exports are not required
@Toug19
Copy link

Toug19 commented Jan 26, 2023

Swap partition is to be disabled in fstab, but what about swap file?

@seisdr
Copy link

seisdr commented Nov 14, 2023

soong.environment.used.build Android.bp fatal error: runtime: out of memory

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment