INSTALL_FAILED_NO_MATCHING_ABISes cuando intentas instalar una aplicación que tiene bibliotecas nativas y no tiene una biblioteca nativa para tu arquitectura de CPU. Por ejemplo, si compiló una aplicación para armv7 y está tratando de instalarla en un emulador que utiliza la arquitectura Intel , no funcionará.
@DanielOchoa Es porque no van a mantener dos imágenes para una versión preliminar. Cuando se lanza oficialmente L, estoy seguro de que también habrá una imagen Intel x86.
Hiemanshu Sharma
1
Cómo superar este problema. Estoy usando Genymotion Emulater e instalo gapps y Genymotion-ARM-Translation_v1.1 todavía tengo este problema.
Prashant Maheshwari Andro
3
Si tiene este problema en Genymotion, incluso cuando utiliza el traductor ARM, es porque está creando un dispositivo virtual x86 como Google Nexus 10. Elija un dispositivo virtual ARM, como una de las tabletas personalizadas.
enl8enmentnow
1
Alguna idea de por qué esto no funcionará en un Nexus 9 con 5.1.1. Funciona bien en una tableta Sony Xperia Z2 con 4.4.2. Compilado Sdk 21, min 17 y apuntado a 22.
Tenga
3
Tuve este problema al usar el emulador de Android Studio para un Nexus 5x en mi máquina Windows. Por razones de velocidad [10 veces más rápido], el valor predeterminado es simular el teléfono como si estuviera trabajando con una arquitectura Intel x86 [Snapdragon 808 de Nexus 5x se basa realmente en ARM: tomshardware.com/reviews/lg-g4,4353-2.html ] . Solucioné el error al ingresar al administrador AVD, seleccioné el dispositivo simulado que me estaba dando el error y hice clic en el botón Editar donde configuré una arquitectura ARM (armeabi-v7a). Después de este reinicio del cambio más el emulador, la instalación se realizó sin problemas
Antonino
150
INSTALL_FAILED_NO_MATCHING_ABIS es cuando intentas instalar una aplicación que tiene bibliotecas nativas y no tiene una biblioteca nativa para tu arquitectura de CPU. Por ejemplo, si compiló una aplicación para armv7 y está tratando de instalarla en un emulador que utiliza la arquitectura Intel, no funcionará.
Usando Xamarin en Visual Studio 2015.
Solucione este problema:
Abra su xamarin .sln
Haga clic derecho en su proyecto de Android
Haga clic en propiedades
Haga clic en Opciones de Android
Haga clic en la pestaña 'Avanzado'
En "Arquitecturas compatibles", haga lo siguiente:
armeabi-v7a
x86
salvar
F5 (compilación)
Editar: también se ha informado que esta solución funciona en Visual Studio 2017 .
Edición 2: también se ha informado que esta solución funciona en Visual Studio 2017 para Mac .
Esa solución también funcionó en Visual Studio 2017, para un proyecto Xamarin.Android.
corentinaltepe
1
Esto también funcionó para mí cuando uso un proyecto de aplicación Android WebView
JRodd
44
Parece que en Xamarin, en cada nuevo día hay un nuevo obstáculo inesperado que me impide ejecutar mi aplicación (que funcionó ayer). Como mi archivo csproj está en Dropbox, pude verificar el historial de versiones, y esta propiedad no estaba en el archivo ayer, faltaba por completo. Hoy, tuve que agregar la opción x86 para que la aplicación se ejecute. ¿Por qué demonios xamarin o android usan repentinamente diferentes valores predeterminados? ¡Esto es muy frustrante! De todos modos, gracias a personas como tú, puedo superar y seguir trabajando. ¡Muchas gracias y +1 por ti!
TMan
2
Ojalá pudiera votar más de una vez ... Probado y trabajando en VS 2017 para Mac.
JordiVilaplana
Para Visual Studio Community 2019 para Mac: 1. Haga clic derecho en su proyecto de Android 2. Haga clic en Opciones 3. Haga clic en Android Build 4. Avanzado
nulo
87
Estoy publicando una respuesta de otro hilo porque es lo que funcionó bien para mí, el truco es agregar soporte para ambas arquitecturas:
Publicando esto porque no pude encontrar una respuesta directa y tuve que mirar un par de publicaciones diferentes para obtener lo que quería hacer ...
Pude usar el emulador acelerado x86 (HAXM) simplemente agregando esto al script build.gradle de mi Módulo dentro del bloque android {}:
splits {
abi {
enable true
reset()
include 'x86','armeabi-v7a'
universalApk true}}
Ejecute (compilar) ... Ahora habrá un (yourapp) -x86-debug.apk en su carpeta de salida. Estoy seguro de que hay una manera de automatizar la instalación en Run, pero acabo de iniciar mi emulador HAXM preferido y uso la línea de comandos:
En algunas API que utilizó, debe agregar tanto "ARM Translation Installer v1.1" como "GApps para su versión de Android".
saneryee
44
ACTUALIZACIÓN 28 de mayo de 2017: esta guía ya no es compatible y probablemente no funcione. Por favor, no lo use ni solicite asistencia nunca más. de xda-developers
AndroidCoolestRulest
1
Puede seguir este enlace para instalar ARM Translation
Devansh Maurya
37
De hecho, este es un error extraño que puede ser causado por la multidexificación de su aplicación. Para evitarlo , use el siguiente bloque en el archivo build.gradle de su aplicación :
android {
splits {
abi {
enable true
reset()
include 'x86','armeabi-v7a'
universalApk true}}...[rest of your gradle script]
Hola. Esto hizo que mi proyecto se compilara con éxito, pero aún así me dio el mismo error. Estoy trabajando en mac, genymotion. Además, en general, ¿esta configuración que usted dijo es solo para la versión de depuración o también para la compilación de lanzamiento?
myDoggyWritesCode
@ user3241111 Esto se puede usar tanto para depuración como para producción. ¿Has intentado limpiar tu proyecto? ¿O tal vez invalidar / reiniciar Android Studio?
IgorGanapolsky
1
@ user3241111 Si está utilizando gradlew para compilaciones de terminales de línea de comandos, aún puede limpiar su proyecto con gradle.
IgorGanapolsky
1
Probé esta solución, funcionó ... En mi proyecto no había ninguna APP_ABI. Pero lo agregué en consecuencia y construyó solo una apk y funciona. stackoverflow.com/a/35565901/3241111
myDoggyWritesCode
1
Además, acabo de agregar Gradle Daemon habilitado y ha acelerado mucho el proceso ... De todos modos, gracias por su apoyo :)
myDoggyWritesCode
11
Sé que hubo muchas respuestas aquí, pero la versión TL; DR es esta (si está usando Xamarin Studio):
Haga clic derecho en el proyecto de Android en el árbol de soluciones
Seleccione Options
Ir Android Build
Ir a la Advancedpestaña
Verifique las arquitecturas que usa en su emulador (Probablemente x86/ armeabi-v7a/ armeabi)
Muchas gracias, me salvas el día. No sé por qué obtuve: implementación 'org.apache.directory.studio:org.apache.commons.io:2.4'
Pierrick HYMBERT
7
El comentario de @ enl8enmentnow debería ser una respuesta para solucionar el problema usando genymotion:
Si tiene este problema en Genymotion, incluso cuando utiliza el traductor ARM, es porque está creando un dispositivo virtual x86 como Google Nexus 10. Elija un dispositivo virtual ARM, como una de las tabletas personalizadas.
Estoy trabajando en Mac y probablemente esté construido para un dispositivo virtual x86. Intenté con la tableta personalizada genymotion también, no funcionó, y di el mismo error durante la instalación
myDoggyWritesCode
7
esto funcionó para mí ... Android> Gradle Scripts> build.gradle (Módulo: aplicación) agregar dentro de Android *
Tuve este problema al usar la biblioteca bitcoinJ (org.bitcoinj: bitcoinj-core: 0.14.7) agregada a build.gradle (en la aplicación del módulo) opciones de empaque dentro del alcance de Android. Me ayudó.
Gracias. Me ayudó con la integración de Bitcoin J.
Umer Kiani
Muchas gracias. Intento muchas soluciones, pero esta solución funciona para mí. Mi problema es que scrypt-1.4.0.jar no se instala en la versión de Android Pie (Nokia 7.1) Dispositivo
Sagar Pithiya
3
En mi caso, en un proyecto xamarin, en el error visual studio eliminado seleccionando propiedades -> Opciones de Android y marcando Usar tiempos de ejecución compartidos y Usar implementación rápida, en algunos casos uno de ellos
Para genymotion en mac, recibí el error INSTALL_FAILED_NO_MATCHING_ABIS al instalar mi apk.
En mi proyecto no había ninguna "APP_ABI", pero la agregué en consecuencia y construyó solo una apk para ambas arquitecturas, pero funcionó.
https://stackoverflow.com/a/35565901/3241111
Básicamente, si probó todo lo anterior y aún tiene el mismo error "Porque también estoy enfrentando este problema antes", compruebe qué .jar o .aar o módulo que agregó puede ser la biblioteca que usa ndk, y esa no es compatible con 8.0 (Oreo) +, del mismo modo, estoy usando la biblioteca de socket Microsoft SignalR agregando sus archivos .jar y luego descubrí que la aplicación no se instala en Oreo y luego eliminé esa biblioteca porque actualmente no hay solución en su página git y busco otra .
Por lo tanto, compruebe la biblioteca que está utilizando y búsquela si la necesita con impaciencia.
Me enfrenté a este problema cuando me mudé de Android 7 (Nougat) a Android 8 (Oreo).
He intentado varias formas mencionadas anteriormente y para mi mala suerte nada funcionó.
Así que cambié el archivo .apk a .zip, lo extraje y encontré la carpeta lib con la que estaba este archivo /x86_64/darwin/libscrypt.dylib, así que para eliminar esto agregué un código en mi módulo build.gradle debajo de la sección de Android (es decir, )
En general, para averiguar qué dependencia de la biblioteca tiene ABI incompatible,
compilar un archivo APK en Android Studio (menú Compilar> Compilar paquete (s) / APK (s)> Compilar APK (s) // actual el 01.04.2020
cambiar el nombre del archivo APK, reemplazando la extensión "apk" con la extensión "zip"
descomprimir el archivo zip en una nueva carpeta
ir a la carpeta libs
descubra qué bibliotecas * .jar con ABI incompatibles existen
Puede intentar actualizar la versión / eliminar / reemplazar estas bibliotecas para resolver INSTALL_FAILED_NO_MATCHING_ABIS cuando instale el problema apk
Muy tarde, pero me encontré con esto. Esto es para Xamarin.Android. Asegúrese de que no está intentando depurar en modo de lanzamiento. Obtengo exactamente el mismo error si estoy en modo de lanzamiento e intento depurar. Simplemente cambiar de versión a depuración permitió que la mía se instalara correctamente.
Respuestas:
INSTALL_FAILED_NO_MATCHING_ABIS
es cuando intentas instalar una aplicación que tiene bibliotecas nativas y no tiene una biblioteca nativa para tu arquitectura de CPU. Por ejemplo, si compiló una aplicación para armv7 y está tratando de instalarla en un emulador que utiliza la arquitectura Intel , no funcionará.fuente
Usando Xamarin en Visual Studio 2015. Solucione este problema:
En "Arquitecturas compatibles", haga lo siguiente:
salvar
Editar: también se ha informado que esta solución funciona en Visual Studio 2017 .
Edición 2: también se ha informado que esta solución funciona en Visual Studio 2017 para Mac .
fuente
Estoy publicando una respuesta de otro hilo porque es lo que funcionó bien para mí, el truco es agregar soporte para ambas arquitecturas:
Publicando esto porque no pude encontrar una respuesta directa y tuve que mirar un par de publicaciones diferentes para obtener lo que quería hacer ...
Pude usar el emulador acelerado x86 (HAXM) simplemente agregando esto al script build.gradle de mi Módulo dentro del bloque android {}:
Ejecute (compilar) ... Ahora habrá un (yourapp) -x86-debug.apk en su carpeta de salida. Estoy seguro de que hay una manera de automatizar la instalación en Run, pero acabo de iniciar mi emulador HAXM preferido y uso la línea de comandos:
fuente
(yourapp)-x86-debug.apk
archivo en la salida de mi proyecto.Si usa Genymotion, necesita instalar ARM Translation y GApps
fuente
De hecho, este es un error extraño que puede ser causado por la multidexificación de su aplicación. Para evitarlo , use el siguiente bloque en el archivo build.gradle de su aplicación :
fuente
Sé que hubo muchas respuestas aquí, pero la versión TL; DR es esta (si está usando Xamarin Studio):
Options
Android Build
Advanced
pestañax86
/armeabi-v7a
/armeabi
)fuente
Esta solución funcionó para mí. Pruebe esto, agregue las siguientes líneas en el archivo build.gradle de su aplicación
fuente
En Android 8:
le da INSTALL_FAILED_NO_MATCHING_ABIS, intente cambiarlo a 2.5 o 2.6 y funcionará o lo comentará.
fuente
El comentario de @ enl8enmentnow debería ser una respuesta para solucionar el problema usando genymotion:
fuente
esto funcionó para mí ... Android> Gradle Scripts> build.gradle (Módulo: aplicación) agregar dentro de Android *
fuente
Visual Studio mac: puede cambiar el soporte aquí:
fuente
Tuve este problema al usar la biblioteca bitcoinJ (org.bitcoinj: bitcoinj-core: 0.14.7) agregada a build.gradle (en la aplicación del módulo) opciones de empaque dentro del alcance de Android. Me ayudó.
fuente
En mi caso, en un proyecto xamarin, en el error visual studio eliminado seleccionando propiedades -> Opciones de Android y marcando Usar tiempos de ejecución compartidos y Usar implementación rápida, en algunos casos uno de ellos
fuente
Para genymotion en mac, recibí el error INSTALL_FAILED_NO_MATCHING_ABIS al instalar mi apk.
En mi proyecto no había ninguna "APP_ABI", pero la agregué en consecuencia y construyó solo una apk para ambas arquitecturas, pero funcionó. https://stackoverflow.com/a/35565901/3241111
fuente
En la edición 2017 de Visual Studio Community, a veces la selección de ABI compatibles de las Opciones de Android no funcionará.
En ese caso, verifique que .csproj tenga la siguiente línea y no haya líneas duplicadas en las mismas configuraciones de compilación.
Para editar,
fuente
Básicamente, si probó todo lo anterior y aún tiene el mismo error "Porque también estoy enfrentando este problema antes", compruebe qué .jar o .aar o módulo que agregó puede ser la biblioteca que usa ndk, y esa no es compatible con 8.0 (Oreo) +, del mismo modo, estoy usando la biblioteca de socket Microsoft SignalR agregando sus archivos .jar y luego descubrí que la aplicación no se instala en Oreo y luego eliminé esa biblioteca porque actualmente no hay solución en su página git y busco otra .
Por lo tanto, compruebe la biblioteca que está utilizando y búsquela si la necesita con impaciencia.
fuente
Me enfrenté a este problema cuando me mudé de Android 7 (Nougat) a Android 8 (Oreo).
He intentado varias formas mencionadas anteriormente y para mi mala suerte nada funcionó.
Así que cambié el archivo .apk a .zip, lo extraje y encontré la carpeta lib con la que estaba este archivo /x86_64/darwin/libscrypt.dylib, así que para eliminar esto agregué un código en mi módulo build.gradle debajo de la sección de Android (es decir, )
Problema de salud resuelto
fuente
En general, para averiguar qué dependencia de la biblioteca tiene ABI incompatible,
Puede intentar actualizar la versión / eliminar / reemplazar estas bibliotecas para resolver INSTALL_FAILED_NO_MATCHING_ABIS cuando instale el problema apk
fuente
Esto me paso a mi. Revisé el SDK Manager y me dijo que el que estaba usando tenía una actualización. Lo actualicé y el problema desapareció.
fuente
Muy tarde, pero me encontré con esto. Esto es para
Xamarin.Android
. Asegúrese de que no está intentando depurar en modo de lanzamiento. Obtengo exactamente el mismo error si estoy en modo de lanzamiento e intento depurar. Simplemente cambiar de versión a depuración permitió que la mía se instalara correctamente.fuente
En mi caso, necesitaba descargar la versión x86 de la aplicación.
fuente
En mi caso, configurar las siguientes opciones me ayuda
fuente