Difference between revisions of "Anbox"
m (→Limitations) |
m (→Limitations) |
||
(14 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 == | ||
− | For [[Mint Linux]] installation instructions see our [[Snapcraft#anbox|Snapcraft guide]]. | + | For [[Mint Linux]] installation instructions see our [[Snapcraft#anbox|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. | 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 == | == 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. | 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 "[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 == | ||
+ | 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. | ||
[[Category:Computer_Technology]] | [[Category:Computer_Technology]] | ||
[[Category:Linux]] | [[Category:Linux]] | ||
+ | |||
+ | == 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. |
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...
Contents
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.