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

Ayush picture Ayush · Oct 22, 2012 · Viewed 33.6k times · Source

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.

Answer

Royston Pinto picture Royston Pinto · Oct 22, 2012

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