Contributing to Waydroid

We welcome contributions from the community! Whether it's filing a bug report, suggesting a new feature, or submitting code, your help is appreciated.

Reporting Bugs

If you've found a bug, please help us by submitting a detailed report. Use the Bug Report template on GitHub Issues. You can find it here: New Bug Report.

Please provide as much information as possible, including:

  • Waydroid version (waydroid --version)
  • Operating System and kernel version
  • Desktop Environment and GPU
  • Relevant logs, which can be gathered with the following commands while Waydroid is running:

    # Configuration files
    cat /var/lib/waydroid/waydroid.cfg
    cat /var/lib/waydroid/waydroid.prop
    cat /var/lib/waydroid/waydroid_base.prop
    
    # Waydroid log
    cat /var/lib/waydroid/waydroid.log
    
    # Android logcat
    sudo waydroid shell -- logcat -d > logcat.txt
    
    # Kernel messages
    sudo dmesg > dmesg.txt

Feature Requests

If you have an idea for a new feature, please use the Feature Request template on GitHub Issues: New Feature Request.

Describe the problem your feature solves and the solution you envision.

Development

Setting Up a Development Environment

  1. Dependencies: Install the dependencies listed on the Installation page.
  2. Clone the repository: git clone https://github.com/waydroid/waydroid.git
  3. Install in-place: Instead of running make install, you can run the waydroid.py script directly from the cloned repository for testing purposes. Note that many operations will still require sudo.

Testing

Waydroid uses a CI system defined in .abstruse.yml to build and test packages against multiple Debian and Ubuntu releases. This ensures that changes do not break compatibility with supported distributions.

The CI script performs the following steps:

  1. Updates the package list.
  2. Installs build dependencies.
  3. Builds a .deb package using debuild.

Before submitting a pull request, ensure your changes do not break the build process.

Code of Conduct

Please review our Code of Conduct before contributing.

Getting in Touch

For discussions about development, you can join our community channels: