## Compile Waydroid - Lineage OS based images # Getting started # To get started with Android/LineageOS, you'll need to get familiar with and its git workflow. sudo apt install git repo python3-kerberos ## Initializing # To initialize your local repository using the LineageOS trees, use a command like this: lineage_git="https://github.com/LineageOS/android.git" # lineage_branch="lineage-18.1" lineage_branch="lineage-20" repo init -u ${lineage_git} -b ${lineage_branch} --git-lfs repo sync build/make # Then we grab the Waydroid local_manifests # https://github.com/waydroid/android_vendor_waydroid wget -O - https://raw.githubusercontent.com/waydroid/android_vendor_waydroid/${lineage_branch}/manifest_scripts/generate-manifest.sh | bash ## Syncing # Then to sync up: repo sync # Then we setup the local build environment: ${PWD} build/envsetup.sh ## Patching # After that is complete, we apply the Waydroid patches: apply-waydroid-patches # How to build # Please see the lineageOS wiki for building environment setup. # Waydroid AOSP Lunch Options: # lineage_waydroid_arm-userdebug # lineage_waydroid_arm64-userdebug # lineage_waydroid_x86-userdebug # lineage_waydroid_x86_64-userdebug # Waydroid Build Commands: ${PWD} build/envsetup.sh lunch lineage_waydroid_arm64-userdebug make systemimage -j"$(nproc --all)" make vendorimage -j"$(nproc --all)" ## Image Generation From Sparse Image: # 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 ## Troubleshooting # Local Manifest: # 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)