To get started with Android/LineageOS, you'll need to get familiar with Repo and its Git workflow.
To initialize your local repository using the LineageOS trees, use a command like this:
repo init -u https://github.com/LineageOS/android.git -b lineage-18.1 --git-lfs
repo sync build/make
Then we grab the Waydroid local_manifests
wget -O - https://raw.githubusercontent.com/waydroid/android_vendor_waydroid/lineage-18.1/manifest_scripts/generate-manifest.sh | bash
Then to sync up:
repo sync
Then we setup the local build environment:
. build/envsetup.sh
After that is complete, we apply the Waydroid patches:
apply-waydroid-patches
Please see the LineageOS Wiki for building environment setup.
lineage_waydroid_arm-userdebug
lineage_waydroid_arm64-userdebug
lineage_waydroid_x86-userdebug
lineage_waydroid_x86_64-userdebug
. build/envsetup.sh
lunch lineage_waydroid_arm64-userdebug
make systemimage -j$(nproc --all)
make vendorimage -j$(nproc --all)
The default output of the AOSP build system is an "Android Sparse Image". We need raw fileystems instead. From the same terminal where you just built a system and a vendor image, run:
simg2img $OUT/system.img ~/system.img
simg2img $OUT/vendor.img ~/vendor.img
to obtain your target raw images at ~/system.img and ~/vendor.img
To manually regenerate the local_manifests, we also have added a function to do so
waydroid-generate-manifest
After doing that you will want to resync (this will wipe out any local changes, so make sure you save your work to a different branch)