Launch Android apps on Linux with Anbox
Piggyback
Have you ever wished you could use an Android smartphone app on your Linux desktop? Thanks to Anbox and Snap, you can launch Android apps in a Linux virtual environment.
Linux already supports Java applications on the desktop, as well as native programs. You can rehash some legacy Windows software with Wine or Crossover. With the help of the DOSbox in Linux, you can even breathe life into very old applications for the 16-bit DOS operating system.
Anbox [1] pursues a similar approach. You can integrate a full-fledged Android operating system under Linux with a few simple steps and work with the included apps even more comfortably than on your Android smartphone.
The free Anbox software is only available as source code and as a Snap archive [2]. This means that the application only runs on Linux distributions that support Snap's virtual container technology, which includes all Ubuntu and Debian derivatives.
Anbox contains a complete Android system in a Snap container. The container is completely isolated from the host system thanks to Linux containers (LXC) [3]. Android thus does not have direct access to the Linux host's hardware. Instead, this access is managed by the Anbox daemon on the host, which makes it difficult to transfer malware to the Linux host.
To use Anbox, you first need to set up the Snap daemon. You can do this easily on Ubuntu, Linux Mint, or Debian by using Synaptic to install the snapd package from the repositories. Next, you need to integrate two further kernel modules (Listing 1, lines 1 to 3).
Listing 1
Installing Anbox
Rebooting loads the modules. You will now find two new entries, ashmem
and binder
, in the /dev/
directory. Next, use Snap to install Anbox with the command from line 4 of Listing 1. The installation process takes a little longer even on state-of-art hardware, and numerous status messages are output on screen.
When the installation is complete, you will find the Anbox Application Manager and Android Settings entries in your desktop's menu hierarchy. Click on the Anbox Application Manager to start the Android environment on Linux (Figure 1).
The software initially only displays preinstalled applications. You now need to prepare the Android container for integrating more applications by setting up the Android Debug Bridge (Listing 1, line 5).
Software
Because Google does not certify the Anbox project and there is no agreement to use Google Play, Google is not preinstalled with Anbox. Consequently, Google can't collect your personal data via the Play Store. Instead, the Debug Bridge lets you add packages in Android's own APK format to the Anbox container.
First search for an APK mirror on the Internet that provides the packages. You will usually find current and older versions of several thousand Android apps. After downloading the desired apps, type the following in the terminal window without root privileges:
adb install <APK package>
This installs the app. Note that Anbox must be running when the installation command is called; otherwise, the installation aborts with a device error.
Although most of the programs offered on the mirror servers are designed for the ARM hardware used in smartphones and tablet PCs, this does not matter for the installation on Anbox. Problems only arise if apps require special WLAN or GPS hardware. If this is the case, an error message will appear in the Linux terminal.
Once you manage to install the APK package, the terminal displays a Success message. You simultaneously will find a starter icon for the software in the Anbox Application Manager that lets you open the app with a mouse click.
In contrast to a smartphone, several applications can be launched simultaneously as each runs in its own window. This lets you use multiple Android apps along with other programs on the desktop. Since you can resize the windows, an app's contents can be viewed much more clearly than on the comparatively small smartphone displays (Figure 2).
Troubleshooting
Occasionally, an Android app tries to access special hardware that is missing on the system. This kind of direct access typically crashes the program in question, taking Anbox down at the same time.
Fortunately, each Anbox window on the Linux system runs in a separate process with its own process ID (PID). To fix the problem, use ps ax
to find the faulty process in the terminal and terminate it with
kill 9 <PID>
To remove the app from the Anbox Application Manager, enter the command
adb remove <APK packet>
in the terminal. The routine now removes the files and the starter icon from the Anbox window.
Settings
You can access Anbox's Settings dialog by clicking on the Settings icon in the Application Manager or via Android Settings in the desktop menu hierarchy. You will find numerous setting options not only for the physical target system, but also for the replicated smartphone.
The size settings for fonts and messages in the Anbox windows are especially useful. Making the appropriate adjustments means that the contents are easier to read in small windows (Figure 3). However, in our lab with several Linux distributions, some control elements did not react at all, while others crashed the window.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Fedora Asahi Remix 41 Available for Apple Silicon
If you have an Apple Silicon Mac and you're hoping to install Fedora, you're in luck because the latest release supports the M1 and M2 chips.
-
Systemd Fixes Bug While Facing New Challenger in GNU Shepherd
The systemd developers have fixed a really nasty bug amid the release of the new GNU Shepherd init system.
-
AlmaLinux 10.0 Beta Released
The AlmaLinux OS Foundation has announced the availability of AlmaLinux 10.0 Beta ("Purple Lion") for all supported devices with significant changes.
-
Gnome 47.2 Now Available
Gnome 47.2 is now available for general use but don't expect much in the way of newness, as this is all about improvements and bug fixes.
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.
-
SUSE Renames Several Products for Better Name Recognition
SUSE has been a very powerful player in the European market, but it knows it must branch out to gain serious traction. Will a name change do the trick?
-
ESET Discovers New Linux Malware
WolfsBane is an all-in-one malware that has hit the Linux operating system and includes a dropper, a launcher, and a backdoor.
-
New Linux Kernel Patch Allows Forcing a CPU Mitigation
Even when CPU mitigations can consume precious CPU cycles, it might not be a bad idea to allow users to enable them, even if your machine isn't vulnerable.
-
Red Hat Enterprise Linux 9.5 Released
Notify your friends, loved ones, and colleagues that the latest version of RHEL is available with plenty of enhancements.