2 votes

INSTALL_FAILED_NO_MATCHING_ABIS sur Android 9

J'essaie d'installer un apk qui contient les bibliothèques natives d'armeabi-v7a, sur un émulateur avec KVM activé. Lorsque j'essaie d'installer l'apk sur l'appareil en fonctionnement, je suis confronté à cette erreur : Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]

Conformément à https://developer.Android.com/studio/releases/emulator#30-0-0 l'erreur ci-dessus ne devrait pas se produire sur Android 9 ou 11

Images du système Android 11 Vous pouvez maintenant créer un AVD qui fonctionne sous Android 11 en sélectionnant l'une des images système de niveau API 30 disponibles :

x86 : Inclut les ABIs x86 et ARMv7. x86_64 : Inclut les ABIs x86, x86_64, ARMv7 et ARM64. Prise en charge des binaires ARM sur les images système Android 9 et 11 Si vous n'étiez pas en mesure d'utiliser l'émulateur Android parce que votre application dépendait de binaires ARM, vous pouvez désormais utiliser l'image système Android 9 x86 ou toute image système Android 11 pour exécuter votre application - il n'est plus nécessaire de télécharger une image système spécifique pour exécuter des binaires ARM. Ces images système Android 9 et Android 11 prennent en charge ARM par défaut et offrent des performances considérablement améliorées par rapport aux images système avec émulation ARM complète.

Mon environnement est Ubuntu 18.04 (LTS) Voici quelques-unes de mes commandes de configuration :

outils https://dl.google.com/android/repository/commandlinetools-linux-6200805_latest.zip

sdkmanager --install "system-images;android-28;default;x86" "emulator" "platform-tools" "platforms;android-28" (à cette étape, vous pouvez remplacer x86 con x86_64 ) Note J'ai essayé avec les services google-apis/playstore et il autorise l'installation mais échoue au moment de l'exécution.

avdmanager create avd -n "x86" -k "system-images;android-28;default;x86" (les mêmes étapes de remplacement s'appliquent)

emulator @x86 -no-boot-anim -noaudio -no-window -verbose -wipe-data -partition-size 1024 -qemu -enable-kvm

Y a-t-il quelque chose que j'ai manqué ? En modifiant le build.prop n'aide pas.

2voto

pr0nin Points 353

Même si Google affirme que cela fonctionne pour les images d'Android 9 et 10, d'après mon expérience, cela ne fonctionne que pour les images de prévisualisation d'Android 11.

Je l'ai testé sur Windows en utilisant les dernières images par défaut x86 de Google affichées dans le gestionnaire d'émulateur pour Android 10 et 11. Comme application de test, j'ai utilisé un fichier apk Telegram armv7 only de 2019 :

  • Android-R - (Android 11 preview) Google Play Intel x86 Atom System Image (revision : 1)
    • Installation réussie, démarrage de l'application réussi
  • Android-29 (Android 10) - Image système Google Play Intel x86 Atom (révision : 8)
    • L'installation a échoué INSTALL_FAILED_NO_MATCHING_ABIS

Mes résultats sont donc en contradiction avec la description de Google que vous avez citée dans votre question. Pour l'instant, seules les images x86 d'Android R semblent être capables d'exécuter des applications armv7.

Environnement de test : Windows 10 64 bit avec Intel Haxm installé.

2voto

Zombo Points 63

L'autre réponse est excellente, mais je voulais ajouter un peu plus de détails. Le commentaire de commentaire sur Android 9 ou 11 est correct, mais cela dépend de l'APK.

Si l'APK est armeabi-v7a alors Android 9 (API 28) fonctionnera. De plus, l'émulateur émulateur doit être x86 .

Si l'APK est arm64-v8a alors Android 11 (API 30) fonctionnera. De plus, l'émulateur émulateur doit être x86_64 .

https://stackoverflow.com/questions/36414219/install-failed-no-matching-abis

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X