31

As per the title, what hardware do I need to be able to run various versions of Android?

35

Start with the Android compatibility page. This outlines goals for Android's compatibility and links to the current Compatibility Definition Document which has the technical requirements. All versions of the CDD to date are below.

These are also linked to from the Android Compatibility Downloads page which also includes test suites.

There is no Compatibility Program for older versions of Android, such as Android 1.5 (known in development as Cupcake). New devices intended to be Android compatible must ship with Android 1.6 or later.

Notable points:

The requirements in these documents must be met for a device to be "Google Approved" and ship with the official Google apps such as the Play Store and Google Talk. However, they are not necessarily hard requirements. Since Android is open-source it can be modified to run on lesser hardware, and the opposite is possible as well — modifications necessary to run the OS on a device may make the firmware image too large to fit on it, just for example.

  • A few months ago, this was edited to state that only Android 4.4+ requires an ARMv7 processor, while it previously said Android 4+. What's the backstory for this change? Is is the fact that 4.0 by default doesn't support ARMv5, but can be modfified (by switching javascript engines from V8 to JSC, according to groups.google.com/d/msg/android-building/Q_gU1zb6DLc/…) to work on ARMv5, which later was removed (in 4.4)? – mstorsjo Jul 10 '16 at 18:43
  • @mstorsjo The change was made based on a (since-cleaned-up) comment noting that the 4.0 CDD didn't mention a requirement of v7, but the 4.4 one did. – Matthew Read Jul 10 '16 at 20:14
  • @MatthewRead Thanks. However, at the same time, the note about custom versions supporting ARMv6 changed meaning possibly in an unintentional way: In 4.0-4.3, where ARMv6 wasn't supported by default, but one could modify the source to build for it, there are known ARMv6 builds - but are there actually any such known builds for 4.4+ as well? – mstorsjo Jul 10 '16 at 20:36
  • Sadly, no actual list of the hardware requirements. For example, I can't find a list of minimum x86 cpu instruction sets, like SSE2, SSSE3, SSE4.1, etc. The same problem for arm64 hardware. I can't find which cpu extensions are minimum, like asimd, crc, aes, sha, etc. And Android's build system is so broken we can't determine it using a compile time feature test. Sigh... – jww Apr 29 at 16:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.