Installing anbox/genymotion or other android software

TLDR: Even though Zorin (Lite 16.3) says it doesn't have one of the necessary kernel modules, Anbox works! Whatspp and F-Droid work! But WeChat (and maybe other apps) doesn't work out of the box on x86 CPUs. Workaround (libhoudini? libndk?) might be possible.

Well it seems that even though I can't for the life of me get Zorin to stop saying it can't find /dev/binder, Anbox still works!

I installed Anbox

snap install --devmode --edge anbox

Then I installed android-tools adb

apt install android-tools adb

This will allow you to install .apk files (the installer files for Android apps), but only after you allow Anbox to install from unknown sources. To do that, in the Zorin Menu, run "Anbox Application Manager", let it load, click on the "Settings" icon, scroll down to "Security" and then allow "Unknown Sources".

Then download the apk and in the download folder, right-click on empty space and select "Open Terminal Here", and then:

adb install APPNAME.apk

I successfully did that for WhatsApp (go to official site, download "Package installer") and F-Droid.

Once I'd done that, Whatsapp and F-Droid are there on the homescreen, successfully installed and working! (So far... I still need to test all Whatsapp features like voice calls etc. F-Droid successfully installed a game, Lexica, and it plays fine.)


Anbox Application Manager on Zorin Lite 16.3


Whatsapp in Anbox on Zorin Lite 16.3. Note the video call and audio call icons at top right, which the "Whatsapp for Linux" versions never give you. Yay!

WeChat, on the other hand, is another story. :melting_face: It seems it uses "native libraries", built specifically for the CPU architecture in phones, Arm; not for PC chips, x86_64. So trying to install the standard Android apk on a PC, even in Anbox, fails. (Both the Chinese weixin apk from the official site and the English WeChat apk from APKpure.)

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

There are a few ideas out there on the web (in English; more in Chinese but my Chinese isn't good enough) about how to deal with this, but most of what I've seen so far is beyond my skill level or will require more research (e.g. libhoudini or libndk Arm-Intel translation layers).

I did try one thing I found, but it didn't work, and in fact makes Anbox crash every time I start it. Undoing returns Anbox to working as normal.

What didn't work for me

That was the last thing on this Github page.
sudo snap set anbox software-rendering.enable=true
sudo snap restart anbox.container-manager
After I realized this didn't work and made Anbox crash, I changed "true" to "false", restarted Anbox and it went back to OK (but still can't install WeChat).
sudo snap set anbox software-rendering.enable=false

This native libraries / architecture issue makes me wonder if WeChat for Android would even work, out of the box, inside a virtual machine with BlissOS. (My last resort and/or next step. That or Windows in a VM. Another possibility I just saw: WeChat UWP.)

Anyways, Anbox works on Zorin. Whether the Android app you need works on x86 CPU is another matter.