Most Android apps are just JVM bytecode and work on any architecture. Apps using the NDK (native development kit) are architecture-specific and often lack x86 binaries but ecommerce apps are highly unlikely to use the NDK.
I wouldn't call it rare in general, but it seems pretty rare within the specific genre of ecommerce apps. Unless they use React Native, that requires the NDK.
I have an x86 Android tablet and it does emulate ARM binaries but the performance is bad enough that it is pretty obvious when you are running ARM binaries. I'm not sure how hard it would be to integrate libhoudini (Intel's ARM emulator) into this, if they ever even released the code.
Anbox is a great idea but it needs a lot of work to become a usable project. Currently, it's only available on a few distros, and app installation instructions are nowhere to be found.
I'd love it if I could have both handset and server Android devices and they could talk to each other. Imagine running the server-side part of apps (e.g. always on, attached storage) on a bit of cloud that you own yourself.
I think the idea here is that you would compile one native Android application that is running a single “distributed process” capable of spawning threads in both places, as if the phone and the cloud were two (very distant) NUMA noses of the same physical device. (Or, more practically, with the Android runtime doing transparent distributed RPC using a single set of static types that are marshalled between the client and server using something like protobufs.)
For this to work out, the devices really need to be either capable of running the same native code; or at least need to all be running an abstract bytecode VM with its durable state synchronized between them.
20 comments
[ 3.1 ms ] story [ 44.3 ms ] threadSure. I'll make a VM, do the bullshit app, and pop the vm.
I have an x86 Android tablet and it does emulate ARM binaries but the performance is bad enough that it is pretty obvious when you are running ARM binaries. I'm not sure how hard it would be to integrate libhoudini (Intel's ARM emulator) into this, if they ever even released the code.
https://github.com/anbox/anbox/blob/master/docs/install.md ??
Or do you mean for installing Android apps?
[0]: https://github.com/anbox/anbox#install-and-run-android-appli...
For this to work out, the devices really need to be either capable of running the same native code; or at least need to all be running an abstract bytecode VM with its durable state synchronized between them.