En raison de la vitesse d'émulation, les émulateurs Android émulent généralement un appareil Android x86/x86_64. Les véritables appareils Android sont ARM/Arm64. Si l'application utilise des bibliothèques natives et ne les fournit pas pour x86 ou x86_64, vous ne pouvez pas exécuter ou installer l'application sur un tel émulateur. L'émulateur inclus dans Android SDK/Android Studio comprend certaines images (par exemple "Android 12.0 API Level 31 Google Play | x86_64") qui ont une émulation ARM interne de sorte qu'il devrait être possible d'installer une application arm ou arm64 seulement.
Vous pouvez vérifier les types de CPU pris en charge par un émulateur en exécutant la commande suivante adb shell getprop ro.product.cpu.abilist
Valeurs possibles en sortie :
-
x86
-> les applications x86 32bit sont prises en charge
-
x86_64
-> Les applications x86 64bit sont prises en charge
-
armeabi
-> les applications 32 bit arm sont supportées
-
armeabi-v7a
-> les applications 32 bit arm sont supportées (aujourd'hui juste un alias pour armeabi
)
-
arm64-v8a
-> les applications arm 64bit sont prises en charge
S'il produit par exemple x86,armeabi-v7a,armeabi
cela signifie qu'il peut exécuter du code 32bit x86 et 32bit arm. Si votre application n'est disponible qu'en version 64bit arm, elle ne fonctionnera pas.
La meilleure façon de vérifier pour quelles plateformes une application est disponible est de regarder les téléchargements disponibles sur le site https://apkmirror.com , https://apkpure.com ou tout autre site web fournissant des applications pour l'installation manuelle.