Anbox is a free and open-source compatibility layer that aims to allow mobile applications and mobile games developed for Android to run on GNU/Linux distributions. It executes the Android runtime environment by using LXC (Linux Containers), recreating the directory structure of Android as a mountable loop image, whilst using the native Linux kernel to execute applications.
1. Do not install any Anbox DKMS modules.
2. Rebuildkernel with these options added/modified:
... CONFIG_ASHMEM=y CONFIG_ANDROID=y CONFIG_ANDROID_BINDER_IPC=y CONFIG_ANDROID_BINDERFS=y CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder" ...
3. Reboot into your new linux kernel.
# mkdir /dev/binderfs # mount -t binder binder /dev/binderfs
5. Start/enable the following services:
Make sure you have had the header files for your kernel installed (e.g.for Linux kernel).
Install AUR, AUR (or AUR if you want to include Google's Apps and houdini), AUR
Start/enable the following services:
If you don't want to reboot your computer to enable the required DKMS modules, you can load them manually:
# modprobe ashmem_linux # modprobe binder_linux
So make sure you install the Android Image (See AUR or AUR) first and then proceed to install the other Anbox packages. this link if you run into a common
systemd-networkd to enable networking in anbox.
Therefore you need to enable
systemd-networkd or start
systemd-networkd before starting
Alternatively you can use the anbox-bridge script from https://raw.githubusercontent.com/anbox/anbox/master/scripts/anbox-bridge.sh
You must execute
anbox-bridge every time before starting
anbox-container-manager.service in order to get network working in anbox.
The easiest solution is create a drop-in file
[Service] ExecStartPre=/usr/bin/anbox-bridge start
You can run the Android applications on your desktop's launcher on Other category.
If you want to use adb to debug, install
$ adb shell
Installing apps through adb
By default, Anbox doesn't support for ARM applications. So apps must have a x86_64 architecture.
$ adb install /path/to/app.apk
To get the list of installed applications
$ adb shell pm list packages
Note that output will be similar to
app.name is different from the one displayed in anbox container.
$ adb uninstall app.name
app.name is a system app
$ adb uninstall --user 0 app.name
Installing apps through apps stores
Apps can be easily installed through apps stores. InAUR PlayStore is included.
If kernels modules successfully loaded, service is running fine, and yet Anbox won't launch with
Application manager service is not running yet. Check for the message
No space left on device - Failed to enter cgroup in
/var/lib/anbox/logs/container.log, you may be running into this issue.
Anbox doesn't seem to play nicely with LXC versions > 188.8.131.52 and fails with
Session manager failed to become ready. downgrading to an older version of LXC fixes this. see this issue