Launch Android apps on Linux with Anbox

Piggyback

Article from Issue 229/2019
Author(s):

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).

Figure 1: The Application Manager functions as Anbox's interface.

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).

Figure 2: Anbox supports the simultaneous display of several Android apps in different windows on the desktop.

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.

Figure 3: The Anbox settings are limited to a single dialog.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Android in a Box

    Need Android apps in a separate window on the Linux desktop? Anbox is the answer. Unlike common Android emulators, the software relies on LXC containers and kernel namespaces. We tested the pre-alpha version.

  • RebornOS

    RebornOS offers an innovative alternative to Arch Linux that will appeal to Linux newcomers.

  • Introduction

    This month in Linux Voice.

  • FOSSPicks

    We explore KDevelop 5.1, Riot.im, Cursynth, QMapShack 1.8, KWipe 2.1.3, Rapid Photo Downloader 0.9, Kakoune, VPG 0.2.8, Anbox (alpha), Terasology Alpha 7, and Mudlet 3.0.

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95

News