Difference between revisions of "Anbox"

From Free Knowledge Base- The DUCK Project: information for everyone
Jump to: navigation, search
m (Install an apk file / install an app)
m (Limitations)
 
(3 intermediate revisions by one user not shown)
Line 1: Line 1:
 
anbox - Android emulator. Anbox puts the Android operating system into a container, abstracts hardware access and integrates core system services into a GNU/Linux system.  
 
anbox - Android emulator. Anbox puts the Android operating system into a container, abstracts hardware access and integrates core system services into a GNU/Linux system.  
 +
 +
It works!  Sorta...
  
 
== Installation ==
 
== Installation ==
Line 18: Line 20:
 
You can install Android apps but they need to be in android's architecture-neutral bytecode or in the same native architecture as your main OS, because there's no emulator, Anbox runs in a container, thus interecting straight with your current kernel.  So you won't be able to install an ARM app on your PC which uses an Intel x86 / 64 processor.  These processors work differently than the ARM processor in your phone.  However, there are other factors such as the consideration you could use a Raspberry Pi with an ARM processor, or use further emulation on your PC to function between Anbox and your kernel.
 
You can install Android apps but they need to be in android's architecture-neutral bytecode or in the same native architecture as your main OS, because there's no emulator, Anbox runs in a container, thus interecting straight with your current kernel.  So you won't be able to install an ARM app on your PC which uses an Intel x86 / 64 processor.  These processors work differently than the ARM processor in your phone.  However, there are other factors such as the consideration you could use a Raspberry Pi with an ARM processor, or use further emulation on your PC to function between Anbox and your kernel.
  
One solution is using libhoudini to allow you to run ARM apps on your PC with Anbox.   
+
One solution is using libhoudini to allow you to run ARM apps on your PC with Anbox.
 +
 
 +
Update (12/2020) Tested and Verified with some success getting Google Play Services aka Google Store running in addition to libhoudini on anbox using a script written in Python that simplifies installation for usersLinux Uprising has the story "[https://www.linuxuprising.com/2018/07/anbox-how-to-install-google-play-store.html Anbox: How To Install Google Play Store And Enable ARM (libhoudini) Support, The Easy Way]" which outlines the process.  The script is very easy to interpret if you have any programming knowledge as it is recommended to look at it before you execute it for the security of your system.
  
 
== Usage ==
 
== Usage ==
Line 39: Line 43:
 
3. find and execute the app using  Anbox Application Manager
 
3. find and execute the app using  Anbox Application Manager
 
   anbox.appmgr
 
   anbox.appmgr
 +
 +
Some apps tested and confirmed to work include: Dolphin Web Browser and Our Groceries app.
  
 
=== Google Play ===
 
=== Google Play ===
Line 52: Line 58:
 
  Failed to install battlefieldmars.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
 
  Failed to install battlefieldmars.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
  
You are trying to install an app which was written for the ARM processor architecture on your Intel based device, Anbox on your PC.   
+
You are trying to install an app which was written for the ARM processor architecture on your Intel based device, Anbox on your PC.  Some examples are: Chrome web browser and Firefox web browser.
  
 
Try libhoudini
 
Try libhoudini
Line 68: Line 74:
 
  /var/lib/snapd/snaps/anbox-installer_24.snap on /snap/anbox-installer/24 type squashfs (ro,nodev,relatime)
 
  /var/lib/snapd/snaps/anbox-installer_24.snap on /snap/anbox-installer/24 type squashfs (ro,nodev,relatime)
 
  nsfs on /run/snapd/ns/anbox.mnt type nsfs (rw)
 
  nsfs on /run/snapd/ns/anbox.mnt type nsfs (rw)
 +
 +
=== photos and files not visible ===
 +
Photos and files copied to subfolders of /var/snap/anbox/common/data/media/0 are not visible to the Android environment.
 +
 +
status: unresolved.

Latest revision as of 19:53, 1 December 2020

anbox - Android emulator. Anbox puts the Android operating system into a container, abstracts hardware access and integrates core system services into a GNU/Linux system.

It works! Sorta...

Installation

For Mint Linux installation instructions see our Snapcraft guide. Once installed it is located here:

  • /home/nicolep/snap/anbox

Make sure you run anbox.appmgr at least once after installing Anbox. Just type the following from your command prompt:

~ $ anbox.appmgr

There are other methods of installation.

If you have installed anbox using snap on ubuntu, you can find Android folders at place

/var/snap/anbox/common/data/media/0
  • sudo permission required to access

Limitations

You can install Android apps but they need to be in android's architecture-neutral bytecode or in the same native architecture as your main OS, because there's no emulator, Anbox runs in a container, thus interecting straight with your current kernel. So you won't be able to install an ARM app on your PC which uses an Intel x86 / 64 processor. These processors work differently than the ARM processor in your phone. However, there are other factors such as the consideration you could use a Raspberry Pi with an ARM processor, or use further emulation on your PC to function between Anbox and your kernel.

One solution is using libhoudini to allow you to run ARM apps on your PC with Anbox.

Update (12/2020) Tested and Verified with some success getting Google Play Services aka Google Store running in addition to libhoudini on anbox using a script written in Python that simplifies installation for users. Linux Uprising has the story "Anbox: How To Install Google Play Store And Enable ARM (libhoudini) Support, The Easy Way" which outlines the process. The script is very easy to interpret if you have any programming knowledge as it is recommended to look at it before you execute it for the security of your system.

Usage

In current distributions of Ubuntu and Mint (including Mint 18.3 and up) you can launch anbox from the command prompt (or from the search menu):

 anbox.appmgr
  • MENU -> OTHER -> ANBOX APPLICATION MANAGER

To install applications you must download each app APK and install it manually using adb.

If using Snapcraft you will find the installed apps here:

  • /var/snap/anbox/common/data/app

Install an apk file / install an app

To install an app, in this example the Our Groceries App, do the following:

1. navigate to the directory where the apk file you downloaded resides. say ~/Downloads

cd ~/Downloads

2. use the following command to install app to Anbox Android

adb install com.headcode.ourgroceries-1.apk

3. find and execute the app using Anbox Application Manager

 anbox.appmgr

Some apps tested and confirmed to work include: Dolphin Web Browser and Our Groceries app.

Google Play

Anbox doesn't come with Google Services as Google Services can't be installed on an unregistered device including your emulator.

Troubleshooting

Failed to install : Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]

This error:

Failed to install battlefieldmars.apk: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]

You are trying to install an app which was written for the ARM processor architecture on your Intel based device, Anbox on your PC. Some examples are: Chrome web browser and Firefox web browser.

Try libhoudini

anbox-init.sh

binaries

running with snapcraft

  • /snap/anbox/158/usr/bin/anbox container-manager --data-path=/var/snap/anbox/common/ --android-image=/snap/anbox/158/android.img --daemon
  • /snap/anbox/158/usr/bin/anbox session-manager
  • /var/snap/anbox/common/containers default
  • /system/bin/anboxd
$ mount|grep anbox
/var/lib/snapd/snaps/anbox_158.snap on /snap/anbox/158 type squashfs (ro,nodev,relatime)
/var/lib/snapd/snaps/anbox-installer_24.snap on /snap/anbox-installer/24 type squashfs (ro,nodev,relatime)
nsfs on /run/snapd/ns/anbox.mnt type nsfs (rw)

photos and files not visible

Photos and files copied to subfolders of /var/snap/anbox/common/data/media/0 are not visible to the Android environment.

status: unresolved.