21

This question might be redundant or a possible duplicate but I am using an NDK library that runs only on ARM devices. Is there a way I could know what percentage of Android devices can my app support based on CPU architecture just like these statistics on Android Platform Versions?

  • 1
    Personal opinion is you can just ignore those - Intel stopped producing Atom altogether a while ago, and even the last gen. of Atom doesn't include a SKU for phones; among past x86 devices, only Zenfone 2 gained noticeable traction. – Andy Yan Nov 14 '17 at 9:17
  • That does make a lot of sense, thanks! Please post this as an answer so that I can accept it :) – sri Nov 14 '17 at 9:18
  • The site discourages posting opinion-based answers - I'll just list facts. – Andy Yan Nov 14 '17 at 9:20
13

Since ultimately you're deciding whether x86 is still worthy of spending effort to support, I'm listing several facts about x86 for Android devices here:

  • Intel had decided to discontinue the Atom line for phones/tablets.
  • The last generation of handheld Atom - x3, x5 and x7 series - were at best equipped on lower-end Chinese Android tablets. Some come with phone/data capabilities (based on x3-C3230RK). Regardless, none made it onto mainstream devices, specifically phones.
  • The last x86 Android device that's widely popular was ASUS' Zenfone 2, released in March 2015 - and even its subsequent variants shifted to Qualcomm's Snapdragon 410/615, partly due to the compatibility issues Android on x86 had back then.
  • Spreadtrum has a partnership with Intel and just announced SC9861G-IA in March 2017 / SC9853I in August 2017. However, this has yet to come to fruition on consumer devices, and given Spreadtrum's focus on low-end devices for emerging markets, this SoC likely won't give much x86 on Android much significance.

EDIT: The first device utilizing the above Spreadtrum SoCs, the Leagoo T5c, is now on pre-sale. Leagoo is a small China-based firm, and the device mainly targets India, not to mention another variant of the same device (the T5) with a conventional SoC is sold at the same time, so it doesn't change the assumptions above that it will remain unpopular.

  • 2
    This essentially means that there are not a lot of devices out there that are not ARM based. Hence, I think my app will support a larger part of the multitude of Android devices. Thanks! – sri Nov 14 '17 at 9:36
  • @iBug Same here (I actually owned 2, sold one of em). The driver issues make Windows on them sometimes a pain to use, let alone Android, I'd say. – Andy Yan Nov 14 '17 at 9:51
  • @AndyYan Driver issue? No problem if you disable driver auto-update in WU – iBug Nov 14 '17 at 10:28
  • @iBug Nah - some drivers like touch panel and display occasionally malfunction and would require a reinstall. Not caused by auto driver updates. – Andy Yan Nov 14 '17 at 10:42
  • 1
    OTOH, you may want x86 support and other tweaks to run the app on Chromebooks. – Alex Cohn Apr 12 '18 at 8:46
19

I ended up with this conclusion after searching a lot.

Useful info in Unity Stats.

  • ARMv7: 98.1%

  • Intel x86: 1.7%

However I was not satisfied so I verified it from many resources.

According to Android Documentation.

armeabi was deprecated in r16. Removed in r17. No hard float.

and

Historically the NDK supported 32-bit and 64-bit MIPS, but support was removed in NDK r17.

Summery after searching a lot

  • mips (deprecated)
  • mips64 (deprecated)
  • armeabi (deprecated)
  • armeabi-v7a (required — most popular architecture nowadays)
  • arm64-v8a (required — newer version of armeabi-v7a)
  • x86 (optional, very limited number of devices, like Asus Zenfone 2, Genymotion/ Android emulator)
  • x86_64 (optional, very limited number of devices, like Asus Zenfone 2, Genymotion/ Android emulator)

I should also mention that ChromeBook are using Intel processors based x86 and x86_64 architecture. (Only add these architure when you support ChromeBook)

Conclusion

If you app supports armeabi-v7a and arm64-v8a architectures because they have around 99% of Android devices.

Important Suggestion

Do you worry about app size (you should), you should split your apk for multiple abi. Android studio and play store support uploading multiple apk, so that app has only 1 architecture ndk files.

So this will be much efficient to build multiple apk.

Important links

1

From Google Play Console (supporting a minimum of Android 4.1 and landscape screen):

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.