Don't Forget x86

It’s easy to think that Android runs on ARM, and that’s it. For many developers, the only reason to think about Android on x86 is for the emulator, to get something that runs nice and speedy. While there have been forays into Android-on-x86 in production, they have been few and far between: first-generation Google TV boxes, Motorola RAZR i, etc.

However, Intel isn’t giving up, and there are reports that a future Samsung tablet will rock an x86 CPU.

Developers sticking to the Android SDK don’t really need to worry about this. But those working with the NDK need to keep tabs on these sorts of reports. If popular devices start shipping with x86 CPUs, NDK-based apps should be augmented to support them. A simply change in an NDK build file is enough to add support for x86, though:

  • You will need to do thorough testing, to ensure your NDK code is architecture-neutral

  • If you are bumping up against the 50MB app size limit already, the extra x86 binary may be an issue

It is particularly important for developers creating reusable components for Android that involve NDK code adopt x86. Not only are you a gating factor in apps themselves supporting x86 for production, but x86 support in your components can help with developers wishing to test on the emulator as well.