Search code examples
androidandroid-ndkarmnativeandroid-x86

How does native android code written for ARM run on x86?


Motorola just released an x86 based Android phone. I'm a little confused as to how native apps/libraries written for ARM(netflix for example) can run on this phone.

I'd be grateful if someone could explain.


Solution

  • Yes, ARM native code runs on Intel x86 using an emulation feature named Houdini

    What this library does is reads ARM instructions on the fly and converts them to equivalent x86 instructions. This is the reason why many apps may work as is on x86 without actually having to build an equivalent library.

    enter image description here