How to install Android apps on Ubuntu
In this tutorial, we will install Waydroid and make it able to launch many Android apps on your computer. This tutorial has been tested on Ubuntu at the time of writing. For other Linux distributions, you can refer to the documentation links provided in this post.
Install Waydroid
The following instructions are from the official documentation of Waydroid.
Install pre-requisites:
sudo apt install curl ca-certificates
Add the Waydroid repository:
curl https://repo.waydro.id | sudo bash
Install Waydroid:
sudo apt install waydroid
Install Android images:
sudo waydroid init
Configure Waydroid to support window integration with the desktop:
waydroid prop set persist.waydroid.multi_windows true
At this stage, Waydroid still has no Google app support and is not able to run apps built for the ARM architectures.
Run Waydroid extras script
The repository waydroid_script contains a very convenient script to install Android extensions.
First, install pre-requisites:
sudo apt install git lzip python3 python3-pip
Download the script:
git clone https://github.com/casualsnek/waydroid_script
Install the Python requirements:
cd waydroid_script
sudo python3 -m pip install -r
Run the script:
sudo python main.py
- The script should ask for the Android version. At the time of writing, Waydroid runs Android 11.
- Then, select the action:
Install
. - Finally, select extensions using the Space bar, confirm with Enter:
gapps
ormicrog
: to support Google apps.libndk
orlibhoudini
: to run apps built for ARM architectures.magisk
: to customize Android.smartdock
: a desktop mode launcher for Android.widevine
: to support DRM.
Google Play Certification
When launching Waydroid with gapps
the first time it will notify that the device is not certified for Google Play Protect.
First, run:
sudo waydroid shell
Inside the shell (#
), type:
ANDROID_RUNTIME_ROOT=/apex/com.android.runtime ANDROID_DATA=/data ANDROID_TZDATA_ROOT=/apex/com.android.tzdata ANDROID_I18N_ROOT=/apex/com.android.i18n sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "select * from main where name = \"android_id\";"
The result will look like this:
android_id|1234567890123456789
Copy the numbers and type exit
then Enter.
Follow the instructions at https://www.google.com/android/uncertified . The changes may take a few minutes.
Restart Waydroid:
sudo waydroid container restart
Install Android apps
First, you need to ensure the Waydroid container and session are started.
waydroid status
To start the Waydroid container manually:
sudo waydroid container start
To start the Waydroid session manually (in a new terminal):
waydroid session start
Install an apk
file:
waydroid app install xyz.apk
Launch Android apps
If you know the name of the app (e.g. com.foo.bar
), you can launch it as follows:
waydroid app launch com.foo.bar