Quel pourcentage d'appareils Android s'exécute sur l'architecture x86?

25

Cette question peut être redondante ou peut-être en double, mais j'utilise une bibliothèque NDK qui ne fonctionne que sur les périphériques ARM. Existe-t-il un moyen de savoir quel pourcentage d'appareils Android mon application peut-elle prendre en charge en fonction de l'architecture du processeur, tout comme ces statistiques sur les versions de plate-forme Android ?

sri
la source
1
L'opinion personnelle est que vous pouvez simplement ignorer ceux-ci - Intel a cessé de produire Atom il y a un certain temps, et même la dernière génération. d'Atom n'inclut pas de SKU pour les téléphones; parmi les anciens appareils x86, seul le Zenfone 2 a gagné une traction notable.
Andy Yan
Cela a beaucoup de sens, merci! Veuillez poster ceci comme une réponse pour que je puisse l'accepter :)
sri
Le site décourage la publication de réponses basées sur des opinions - je vais simplement énumérer les faits.
Andy Yan

Réponses:

15

Étant donné que vous décidez finalement si x86 mérite toujours de consacrer des efforts à la prise en charge, je répertorie ici plusieurs faits sur x86 pour les appareils Android:

  • Intel avait décidé de supprimer la ligne Atom pour téléphones / tablettes .
  • La dernière génération d'Atom portable - séries x3, x5 et x7 - était au mieux équipée sur des tablettes Android chinoises bas de gamme. Certains viennent avec des capacités de téléphone / données (basées sur x3-C3230RK ). Quoi qu'il en soit, aucun n'est parvenu sur les appareils grand public, en particulier les téléphones.
  • Le dernier appareil Android x86 très populaire était le Zenfone 2 d'ASUS, sorti en mars 2015 - et même ses variantes ultérieures sont passées au Snapdragon 410/615 de Qualcomm, en partie à cause des problèmes de compatibilité qu'Android sur x86 avait à l'époque.
  • Spreadtrum a un partenariat avec Intel et vient d'annoncer SC9861G-IA en mars 2017 / SC9853I en août 2017. Cependant, cela n'a pas encore abouti sur les appareils grand public, et étant donné que Spreadtrum se concentre sur les appareils bas de gamme pour les marchés émergents, ce SoC est probablement ne donnera pas beaucoup d'importance à x86 sur Android.

EDIT: Le premier appareil utilisant les SoC Spreadtrum ci-dessus, le Leagoo T5c, est maintenant en pré-vente . Leagoo est une petite entreprise basée en Chine, et l'appareil cible principalement l'Inde, sans parler d'une autre variante du même appareil (le T5) avec un SoC conventionnel est vendu en même temps, donc cela ne change pas les hypothèses ci-dessus que il restera impopulaire.

Andy Yan
la source
2
Cela signifie essentiellement qu'il n'y a pas beaucoup d'appareils qui ne sont pas basés sur ARM. Par conséquent, je pense que mon application prendra en charge une plus grande partie de la multitude d'appareils Android. Merci!
sri
@iBug Idem ici (j'en possédais 2, j'en ai vendu un). Les problèmes de pilote font que Windows est parfois difficile à utiliser, et encore moins Android, je dirais.
Andy Yan
@AndyYan Driver issue? Pas de problème si vous désactivez la mise à jour automatique du pilote dans WU
iBug
@iBug Nah - certains pilotes comme l'écran tactile et l'affichage fonctionnent parfois mal et nécessiteraient une réinstallation. Non causé par les mises à jour automatiques du pilote.
Andy Yan
1
OTOH, vous souhaiterez peut-être la prise en charge x86 et d'autres modifications pour exécuter l'application sur les Chromebooks .
Alex Cohn
23

Je me suis retrouvé avec cette conclusion après avoir beaucoup cherché.

Informations utiles dans Unity Stats .

  • ARMv7: 98,1%

  • Intel x86: 1,7%

Cependant, je n'étais pas satisfait, je l'ai donc vérifié à partir de nombreuses ressources.

Selon la documentation Android .

armeabi a été déprécié en r16. Supprimé dans r17. Pas de flotteur dur.

et

Historiquement, le NDK supportait MIPS 32 bits et 64 bits, mais le support a été supprimé dans NDK r17.

Summery après avoir beaucoup cherché

  • mips (obsolète)
  • mips64 (obsolète)
  • armeabi (obsolète)
  • armeabi-v7a ( requis  - architecture la plus populaire de nos jours)
  • arm64-v8a ( requis  - nouvelle version d'armeabi-v7a)
  • x86 (en option, nombre très limité d'appareils, comme Asus Zenfone 2, émulateur Genymotion / Android)
  • x86_64 (en option, nombre très limité d'appareils, comme Asus Zenfone 2, émulateur Genymotion / Android)

Je dois également mentionner que ChromeBook utilise des processeurs x86et une x86_64architecture Intel . (Ajoutez ces archives uniquement lorsque vous prenez en charge ChromeBook)

Conclusion

Si vous appliquez des supports armeabi-v7aet des arm64-v8aarchitectures, car ils ont environ 99% des appareils Android.

Suggestion importante

Vous inquiétez-vous de la taille de l'application (vous devriez), vous devez diviser votre apk pour plusieurs abi. Android studio et Play Store prennent en charge le téléchargement de plusieurs apk , de sorte que l'application ne possède qu'un seul fichier d'architecture ndk.

Ce sera donc très efficace pour construire plusieurs apk.

Liens importants

Khemraj
la source