INSTALL_FAILED_NO_MATCHING_ABISc'est lorsque vous essayez d'installer une application qui a des bibliothèques natives et qui n'a pas de bibliothèque native pour votre architecture de processeur. Par exemple, si vous avez compilé une application pour armv7 et que vous essayez de l'installer sur un émulateur qui utilise l' architecture Intel , cela ne fonctionnera pas.
@DanielOchoa C'est parce qu'ils n'ont pas l'habitude de conserver deux images pour une version préliminaire. Lorsque L sera officiellement lancé, je suis sûr qu'il y aura également une image Intel x86.
Hiemanshu Sharma du
1
Comment surmonter ce problème. J'utilise Genymotion Emulater et j'installe des gapps et Genymotion-ARM-Translation_v1.1 m reçoit toujours ce problème.
Prashant Maheshwari Andro
3
Si vous rencontrez ce problème sur Genymotion même lorsque vous utilisez le traducteur ARM, c'est parce que vous créez un périphérique virtuel x86 comme le Google Nexus 10. Choisissez plutôt un périphérique virtuel ARM, comme l'une des tablettes personnalisées.
enl8enmentnow
1
Aucune idée pourquoi cela ne fonctionnera pas sur un Nexus 9 exécutant 5.1.1. Cela fonctionne très bien sur une tablette Sony Xperia Z2 exécutant 4.4.2. Compilé Sdk 21, min 17 abd ciblé 22.
Bear
3
J'ai eu ce problème lors de l'utilisation de l'émulateur Android Studio pour un Nexus 5x sur ma machine Windows. Pour des raisons de vitesse [10 fois plus rapide], la valeur par défaut simule le téléphone comme s'il fonctionnait avec une architecture Intel x86 [Le Snapdragon 808 de Nexus 5x est en fait basé sur ARM: tomshardware.com/reviews/lg-g4,4353-2.html ] . J'ai corrigé l'erreur en entrant dans le gestionnaire AVD, en sélectionnant le périphérique simulé qui me donnait l'erreur et en cliquant sur le bouton Modifier où j'ai mis en place une architecture ARM (armeabi-v7a). Après ce changement plus le redémarrage de l'émulateur, l'installation s'est déroulée sans problème
Antonino
150
INSTALL_FAILED_NO_MATCHING_ABIS, c'est lorsque vous essayez d'installer une application qui possède des bibliothèques natives et qui n'a pas de bibliothèque native pour votre architecture de processeur. Par exemple, si vous avez compilé une application pour armv7 et que vous essayez de l'installer sur un émulateur qui utilise l'architecture Intel à la place, cela ne fonctionnera pas.
Utilisation de Xamarin sur Visual Studio 2015.
Résolvez ce problème en:
Ouvrez votre xamarin .sln
Faites un clic droit sur votre projet Android
Cliquez sur les propriétés
Cliquez sur Options Android
Cliquez sur l'onglet «Avancé»
Sous "Architectures prises en charge", vérifiez les éléments suivants:
armeabi-v7a
x86
enregistrer
F5 (build)
Edit: Cette solution a également été signalée comme fonctionnant sur Visual Studio 2017 .
Edit 2: Cette solution a également été signalée comme fonctionnant sur Visual Studio 2017 pour Mac .
Cette solution a également fonctionné sur Visual Studio 2017, pour un projet Xamarin.Android.
corentinaltepe
1
Cela a également fonctionné pour moi lors de l'utilisation d'un projet d'application Android WebView
JRodd
4
Il semble que sur Xamarin, chaque nouveau jour, un nouvel obstacle inattendu m'empêche d'exécuter mon application (qui a fonctionné hier). Puisque mon fichier csproj est sur dropbox, j'ai pu vérifier l'historique des versions, et cette propriété n'était pas dans le fichier hier, elle manquait complètement. Aujourd'hui, j'ai dû ajouter l'option x86 pour faire fonctionner l'application. Pourquoi diable ou xamarin utilise-t-il soudainement différentes valeurs par défaut? C'est tellement frustrant! Quoi qu'il en soit, grâce à des gens comme vous, je peux surmonter et continuer mon travail. Merci beaucoup et +1 pour vous!
TMan
2
J'aimerais pouvoir voter plus d'une fois ... Testé et travaillant sur VS 2017 pour Mac.
JordiVilaplana
Pour Visual Studio Community 2019 pour Mac: 1. Faites un clic droit sur votre projet Android 2. Cliquez sur Options 3. Cliquez sur Android Build 4. Avancé
null
87
Je poste une réponse d'un autre fil parce que c'est ce qui a bien fonctionné pour moi, l'astuce est d'ajouter le support pour les deux architectures:
Publier cela parce que je n'ai pas pu trouver de réponse directe et j'ai dû regarder quelques articles différents pour obtenir ce que je voulais faire ...
J'ai pu utiliser l'émulateur x86 Accelerated (HAXM) en l'ajoutant simplement au script build.gradle de mon module dans le bloc android {}:
splits {
abi {
enable true
reset()
include 'x86','armeabi-v7a'
universalApk true}}
Exécutez (build) ... Maintenant, il y aura (yourapp) -x86-debug.apk dans votre dossier de sortie. Je suis sûr qu'il existe un moyen d'automatiser l'installation lors de l'exécution, mais je démarre simplement mon émulateur HAXM préféré et j'utilise la ligne de commande:
Dans certaines API que vous avez utilisées, vous devez ajouter à la fois "ARM Translation Installer v1.1" et "GApps pour votre version Android".
saneryee
4
MISE À JOUR 28 mai 2017: ce guide n'est plus pris en charge et ne fonctionne probablement pas. S'il vous plaît ne l'utilisez plus et ne demandez plus d'assistance. de développeurs xda
AndroidCoolestRulest
1
Vous pouvez suivre ce lien pour installer ARM Translation
Devansh Maurya
37
Il s'agit en effet d'une étrange erreur qui peut être causée par le multidexing de votre application. Pour le contourner, utilisez le bloc suivant dans le fichier build.gradle de votre application :
android {
splits {
abi {
enable true
reset()
include 'x86','armeabi-v7a'
universalApk true}}...[rest of your gradle script]
Salut. Cela a permis de construire mon projet avec succès, mais cela m'a quand même donné la même erreur. Je travaille sur mac, genymotion. En outre, en général, ces paramètres sont-ils indiqués uniquement pour la version de débogage ou pour la version finale?
myDoggyWritesCode
@ user3241111 Ceci peut être utilisé pour le débogage et le prod. Avez-vous essayé de nettoyer votre projet. Ou peut-être invalider / redémarrer Android Studio?
IgorGanapolsky
1
@ user3241111 Si vous utilisez gradlew pour les versions de terminal de ligne de commande, vous pouvez toujours nettoyer votre projet avec gradle.
IgorGanapolsky
1
J'ai essayé cette solution, cela a fonctionné .. Dans mon projet, il n'y avait pas d'APP_ABI. Mais je l'ai ajouté en conséquence et il ne crée qu'une seule apk et cela fonctionne. stackoverflow.com/a/35565901/3241111
myDoggyWritesCode
1
De plus, je viens d'ajouter le démon gradle activé et cela a tellement accéléré le processus ... Quoi qu'il en soit, merci pour votre soutien :)
myDoggyWritesCode
11
Je sais qu'il y a eu beaucoup de réponses ici, mais la version TL; DR est la suivante (si vous utilisez Xamarin Studio):
Cliquez avec le bouton droit sur le projet Android dans l'arborescence de la solution
Sélectionner Options
Aller à Android Build
Aller à l' Advancedonglet
Vérifiez les architectures que vous utilisez dans votre émulateur (Probablement x86/ armeabi-v7a/ armeabi)
Merci beaucoup, vous sauvez ma journée. Je ne sais pas pourquoi j'ai eu: implémentation 'org.apache.directory.studio:org.apache.commons.io:2.4'
Pierrick HYMBERT
7
Le commentaire de @ enl8enmentnow devrait être une réponse pour résoudre le problème en utilisant genymotion:
Si vous rencontrez ce problème sur Genymotion même lorsque vous utilisez le traducteur ARM, c'est parce que vous créez un périphérique virtuel x86 comme le Google Nexus 10. Choisissez plutôt un périphérique virtuel ARM, comme l'une des tablettes personnalisées.
Je travaille sur mac et il est probablement construit pour un périphérique virtuel x86. J'ai également essayé avec la tablette personnalisée Genymotion, cela n'a pas fonctionné, et j'ai donné la même erreur lors de l'installation
myDoggyWritesCode
7
cela a fonctionné pour moi ... Android> Scripts Gradle> build.gradle (Module: app) ajouter à l'intérieur d'Android *
j'ai eu ce problème en utilisant la bibliothèque bitcoinJ (org.bitcoinj: bitcoinj-core: 0.14.7) ajoutée à build.gradle (dans l'application du module) une option de packaging dans la portée Android. ça m'a aidé.
Merci beaucoup, j'essaie de nombreuses solutions mais cette solution fonctionne pour moi pour moi Mon problème est que scrypt-1.4.0.jar ne s'installe pas dans la version Android Pie (Nokia 7.1) Appareil
Sagar Pithiya
3
Dans mon cas, dans un projet xamarin, dans Visual Studio, l'erreur a été supprimée en sélectionnant les propriétés -> Options Android et cochez Utiliser les temps d'exécution du partage et Utiliser le déploiement rapide, dans certains cas, l'un d'eux
Pour genymotion sur mac, j'obtenais une erreur INSTALL_FAILED_NO_MATCHING_ABIS lors de l'installation de mon apk.
Dans mon projet, il n'y avait pas d '"APP_ABI" mais je l'ai ajouté en conséquence et il n'a créé qu'une seule apk pour les deux architectures mais cela a fonctionné.
https://stackoverflow.com/a/35565901/3241111
Fondamentalement, si vous avez tout essayé ci-dessus et que vous avez toujours la même erreur "Parce que je fais face à ce problème avant aussi", vérifiez quel .jar ou .aar ou module que vous avez ajouté peut être la seule bibliothèque utilisant ndk, et que celle-ci ne prend pas en charge 8.0 (Oreo) +, j'utilise également la bibliothèque de sockets Microsoft SignalR en ajoutant ses fichiers .jar et, enfin, j'ai découvert que l'application ne s'installe pas dans Oreo, puis je supprime cette bibliothèque car il n'y a actuellement aucune solution sur sa page git et j'en choisis une autre .
Veuillez donc vérifier la bibliothèque que vous utilisez et rechercher à ce sujet si vous en aviez vraiment besoin.
J'ai rencontré ce problème lors du passage d'Android 7 (Nougat) à Android 8 (Oreo).
J'ai essayé plusieurs façons énumérées ci-dessus et à ma malchance, rien n'a fonctionné.
J'ai donc changé le fichier .apk en fichier .zip, je l'ai extrait et j'ai trouvé le dossier lib avec lequel ce fichier était là /x86_64/darwin/libscrypt.dylib donc pour le supprimer j'ai ajouté un code dans mon module build.gradle sous la section android (ie )
En général, pour savoir quelle dépendance de bibliothèque a ABI incompatible,
créer un fichier APK dans Android Studio (menu Build> Build Bundle (s) / APK (s)> Build APK (s)) // actual on 01.04.2020
renommer le fichier APK, en remplaçant l'extension "apk" par l'extension "zip"
décompresser le fichier zip dans un nouveau dossier
aller dans le dossier libs
savoir quelles bibliothèques * .jar avec des ABI incompatibles existent
Vous pouvez essayer de mettre à niveau la version / supprimer / remplacer ces bibliothèques pour résoudre INSTALL_FAILED_NO_MATCHING_ABIS lors de l'installation du problème apk
Cela m'est arrivé. J'ai vérifié le SDK Manager et il m'a dit que celui que j'utilisais avait une mise à jour. Je l'ai mis à jour et le problème a disparu.
Assez tard, mais je suis juste tombé là-dessus. C'est pour Xamarin.Android. Assurez-vous que vous n'essayez pas de déboguer en mode release. J'obtiens exactement la même erreur en mode de libération et en essayant de déboguer. Le simple passage de la version au débogage a permis au mien de s'installer correctement.
Réponses:
INSTALL_FAILED_NO_MATCHING_ABIS
c'est lorsque vous essayez d'installer une application qui a des bibliothèques natives et qui n'a pas de bibliothèque native pour votre architecture de processeur. Par exemple, si vous avez compilé une application pour armv7 et que vous essayez de l'installer sur un émulateur qui utilise l' architecture Intel , cela ne fonctionnera pas.la source
Utilisation de Xamarin sur Visual Studio 2015. Résolvez ce problème en:
Sous "Architectures prises en charge", vérifiez les éléments suivants:
enregistrer
Edit: Cette solution a également été signalée comme fonctionnant sur Visual Studio 2017 .
Edit 2: Cette solution a également été signalée comme fonctionnant sur Visual Studio 2017 pour Mac .
la source
Je poste une réponse d'un autre fil parce que c'est ce qui a bien fonctionné pour moi, l'astuce est d'ajouter le support pour les deux architectures:
Publier cela parce que je n'ai pas pu trouver de réponse directe et j'ai dû regarder quelques articles différents pour obtenir ce que je voulais faire ...
J'ai pu utiliser l'émulateur x86 Accelerated (HAXM) en l'ajoutant simplement au script build.gradle de mon module dans le bloc android {}:
Exécutez (build) ... Maintenant, il y aura (yourapp) -x86-debug.apk dans votre dossier de sortie. Je suis sûr qu'il existe un moyen d'automatiser l'installation lors de l'exécution, mais je démarre simplement mon émulateur HAXM préféré et j'utilise la ligne de commande:
la source
(yourapp)-x86-debug.apk
fichier dans la sortie de mon projet.Si vous utilisez Genymotion, vous devez installer ARM Translation et GApps
la source
Il s'agit en effet d'une étrange erreur qui peut être causée par le multidexing de votre application. Pour le contourner, utilisez le bloc suivant dans le fichier build.gradle de votre application :
la source
Je sais qu'il y a eu beaucoup de réponses ici, mais la version TL; DR est la suivante (si vous utilisez Xamarin Studio):
Options
Android Build
Advanced
ongletx86
/armeabi-v7a
/armeabi
)la source
Cette solution a fonctionné pour moi. Essayez ceci, ajoutez les lignes suivantes dans le fichier build.gradle de votre application
la source
Sur Android 8:
cela donne INSTALL_FAILED_NO_MATCHING_ABIS, essayez de le changer en 2.5 ou 2.6 et cela fonctionnera ou le commentera.
la source
Le commentaire de @ enl8enmentnow devrait être une réponse pour résoudre le problème en utilisant genymotion:
la source
cela a fonctionné pour moi ... Android> Scripts Gradle> build.gradle (Module: app) ajouter à l'intérieur d'Android *
la source
Visual Studio mac - vous pouvez modifier la prise en charge ici:
la source
j'ai eu ce problème en utilisant la bibliothèque bitcoinJ (org.bitcoinj: bitcoinj-core: 0.14.7) ajoutée à build.gradle (dans l'application du module) une option de packaging dans la portée Android. ça m'a aidé.
la source
Dans mon cas, dans un projet xamarin, dans Visual Studio, l'erreur a été supprimée en sélectionnant les propriétés -> Options Android et cochez Utiliser les temps d'exécution du partage et Utiliser le déploiement rapide, dans certains cas, l'un d'eux
la source
Pour genymotion sur mac, j'obtenais une erreur INSTALL_FAILED_NO_MATCHING_ABIS lors de l'installation de mon apk.
Dans mon projet, il n'y avait pas d '"APP_ABI" mais je l'ai ajouté en conséquence et il n'a créé qu'une seule apk pour les deux architectures mais cela a fonctionné. https://stackoverflow.com/a/35565901/3241111
la source
Dans l'édition 2017 de Visual Studio Community, la sélection des ABI pris en charge dans les options Android ne fonctionne parfois pas.
Dans ce cas, vérifiez que le fichier .csproj a la ligne suivante et aucune ligne en double dans les mêmes configurations de build.
Afin de modifier,
la source
Fondamentalement, si vous avez tout essayé ci-dessus et que vous avez toujours la même erreur "Parce que je fais face à ce problème avant aussi", vérifiez quel .jar ou .aar ou module que vous avez ajouté peut être la seule bibliothèque utilisant ndk, et que celle-ci ne prend pas en charge 8.0 (Oreo) +, j'utilise également la bibliothèque de sockets Microsoft SignalR en ajoutant ses fichiers .jar et, enfin, j'ai découvert que l'application ne s'installe pas dans Oreo, puis je supprime cette bibliothèque car il n'y a actuellement aucune solution sur sa page git et j'en choisis une autre .
Veuillez donc vérifier la bibliothèque que vous utilisez et rechercher à ce sujet si vous en aviez vraiment besoin.
la source
J'ai rencontré ce problème lors du passage d'Android 7 (Nougat) à Android 8 (Oreo).
J'ai essayé plusieurs façons énumérées ci-dessus et à ma malchance, rien n'a fonctionné.
J'ai donc changé le fichier .apk en fichier .zip, je l'ai extrait et j'ai trouvé le dossier lib avec lequel ce fichier était là /x86_64/darwin/libscrypt.dylib donc pour le supprimer j'ai ajouté un code dans mon module build.gradle sous la section android (ie )
Problème de santé résolu
la source
En général, pour savoir quelle dépendance de bibliothèque a ABI incompatible,
Vous pouvez essayer de mettre à niveau la version / supprimer / remplacer ces bibliothèques pour résoudre INSTALL_FAILED_NO_MATCHING_ABIS lors de l'installation du problème apk
la source
Cela m'est arrivé. J'ai vérifié le SDK Manager et il m'a dit que celui que j'utilisais avait une mise à jour. Je l'ai mis à jour et le problème a disparu.
la source
Assez tard, mais je suis juste tombé là-dessus. C'est pour
Xamarin.Android
. Assurez-vous que vous n'essayez pas de déboguer en mode release. J'obtiens exactement la même erreur en mode de libération et en essayant de déboguer. Le simple passage de la version au débogage a permis au mien de s'installer correctement.la source
Dans mon cas, j'avais besoin de télécharger la version x86 de l'application.
la source
Dans mon cas, la définition des options suivantes m'aide
la source