LinuxCommandLibrary

waydroid

Run Android apps on Linux

TLDR

Start Waydroid

$ waydroid
copy

Initialize Waydroid (required on first run or after reinstalling Android)
$ sudo waydroid init
copy

Install a new Android app from a file
$ waydroid app install [path/to/file.apk]
copy

Launch an Android app by its package name
$ waydroid app launch [com.example.app]
copy

Start or stop the Waydroid session
$ waydroid session [start|stop]
copy

Manage the Waydroid container
$ sudo waydroid container [start|stop|restart|freeze|unfreeze]
copy

Open Waydroid shell
$ sudo waydroid shell
copy

Adjust Waydroid window dimensions
$ waydroid prop set persist.waydroid.[width|height] [number]
copy

SYNOPSIS

waydroid [options]

PARAMETERS

show-full-ui
    Display the full Android UI, including system bars and navigation.

session
    Starts or stops the Waydroid session. Requires root privileges.

shell
    Opens an adb shell into the Waydroid container.

prop
    Get or set build properties in the Waydroid container.

install
    Install an APK file into the Waydroid container.

upgrade
    Upgrade Waydroid images

apk-install
    Installs one or more APKs into Waydroid.

app-remove
    Removes an application from Waydroid.

list-apps
    Lists installed apps in Waydroid.

log
    Shows Waydroid logs.

events
    Shows Waydroid events.

info
    Shows information about Waydroid.

status
    Shows status of waydroid.

netstatus
    Shows network status of waydroid.

gain-system-access
    Gains system access inside waydroid.

DESCRIPTION

Waydroid is a container-based approach to boot a full Android system on a regular GNU/Linux system. It allows you to run Android applications on your Linux desktop environment as if they were native applications. Waydroid uses the Linux kernel features such as namespaces and cgroups to isolate the Android system from the host system. It leverages the Android Open Source Project (AOSP) to provide a full Android environment. This means you can install and run most Android apps that don't rely on hardware features not available on a desktop, such as specific sensors or cellular connectivity. It aims to provide a seamless integration between Android and Linux, allowing users to benefit from both systems simultaneously.

Waydroid is not an emulator, it uses the host's kernel. This result in performance that is much closer to native, compared to traditional emulators. Note: Waydroid is still under development and may have some limitations.

CAVEATS

Waydroid is under active development. Not all Android apps are guaranteed to work. Requires a modern Linux distribution with kernel namespaces and cgroups support. Proper graphics driver support is essential for good performance. Root privileges are often required for certain operations, particularly managing the Waydroid session. SELinux can also cause issues, so it is sometimes necessary to disable it.

GRAPHICS ACCELERATION

Proper graphics acceleration is crucial for a smooth Waydroid experience. Ensure your system has the correct drivers installed for your graphics card (e.g., Mesa for AMD/Intel, proprietary NVIDIA drivers). Wayland and X11 are both supported, but Wayland is recommended.

NETWORKING

Waydroid typically handles networking automatically, but sometimes network issues can arise. Ensure that the `waydroid-net.service` is running and properly configured. You might need to troubleshoot network bridges or firewall settings if you encounter connectivity problems.

AUDIO

Audio integration can sometimes be problematic. Make sure PulseAudio is properly configured on your host system. Waydroid usually uses PulseAudio for audio output, and compatibility issues can lead to sound not working correctly.

HISTORY

Waydroid emerged as an alternative to Anbox, aiming to provide a more complete and integrated Android experience on Linux. Its development has been driven by the need for a performant and relatively easy-to-use solution for running Android applications on desktop Linux systems. The project continues to evolve with regular updates and improvements from its developers and community contributors.

SEE ALSO

adb(1)

Copied to clipboard