Android emulator ABI

androidandroid-emulatorcpu-architecture

Preamble: THIS QUESTION IS WILDLY OBSOLETE.


When creating an Android Virtual Device (AVD), there's a selection for CPU/ABI. I've tried all available targets – there is no choice but ARM on all of them. I have targets up to Android 3.2.

I'm assuming this was done for emulating tablets or netbooks on x86. Do those even exist in hardware? What kind of target would support a different ABI?

EDIT: in Android Tools v17, there's an optional Intel Atom x86 image under API level 10.

EDIT2: ARMv7a is there now, too. No MIPS so far though.

EDIT3: MIPS emulator and image is available now, too. Pending some new architecture (ARMv8? Intel flavors for non-Atom? x86_64? SH3/4?), this question is utterly pointless.

Best Answer

There are android devices which run on non-ARM platforms, but it does not appear that the emulator mimics them yet. To my knowledge, there are not presently any first-rate fully supported (ie, "Google Experience") devices which use a different processor architecture.

In theory, you shouldn't need to test an android application that uses only official APIs on the actual target ABI unless you have ndk code, and the official ndk does not yet support non-ARM targets.

For the x86 cases, it tends to be faster to run in something like virtualbox anyway (and comes with its own ndk)

For something else - mips or whatever - at the moment that would probably be a custom hardware device and testing would either be done on the actual device or whatever eval board was used to support the initial work of porting android for it.

As long as non-ARM targets aren't fully official, this kind of support would come from the port author or hardware vendor rather than from Google's official tools.