LogoLogo
  • Waydroid
  • Usage
    • Install Instructions
    • Install and Run Android Applications
    • Waydroid command line options
    • Waydroid Prop Options
  • FAQ
    • Google Play Certification
    • Disable On-Screen Keyboard
    • Community Projects We Like
    • Get Waydroid to work through a VM
    • Using ADB with Waydroid
    • Setting up Waydroid only Sessions
    • Setting up a shared folder
    • Color correction in Mutter
    • Backup/Restore apps and data
    • Using custom Waydroid images
  • Development
    • Compile Waydroid - Lineage OS based images
    • Manual Patch Resolution
    • Compile Waydroid - Using Android-Generic Project
  • Debugging
    • Getting Essential Information
    • Networking Issues
    • Known Issues
    • General Troubleshooting
Powered by GitBook
On this page
  • Getting started
  • Initializing
  • Syncing
  • Patching
  • How to build
  • Waydroid AOSP Lunch Options:
  • Waydroid Build Commands:
  • Image Generation From Sparse Image:
  • Troubleshooting
  • Local Manifest:
  • Patch Conflicts:

Was this helpful?

  1. Development

Compile Waydroid - Lineage OS based images

PreviousUsing custom Waydroid imagesNextManual Patch Resolution

Last updated 1 year ago

Was this helpful?

Getting started

To get started with Android/LineageOS, you'll need to get familiar with and its .

Initializing

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

Syncing

Then to sync up:

repo sync

Then we setup the local build environment:

. build/envsetup.sh

Patching

After that is complete, we apply the Waydroid patches:

apply-waydroid-patches

How to build

Waydroid AOSP Lunch Options:

lineage_waydroid_arm-userdebug
lineage_waydroid_arm64-userdebug
lineage_waydroid_x86-userdebug
lineage_waydroid_x86_64-userdebug

Waydroid Build Commands:

. 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)

Patch Conflicts:

Please see the for building environment setup.

See

Repo
Git workflow
LineageOS Wiki
Manual Patch Resolution