INSTALL_FAILED_NO_MATCHING_ABIS cuando instale apk

Intenté instalar mi aplicación en Android L Preview Intel Atom Virtual Device, falló con el error:

INSTALL_FAILED_NO_MATCHING_ABIS

Qué significa eso?

INSTALL_FAILED_NO_MATCHING_ABIS es cuando intenta instalar una aplicación que tiene bibliotecas nativas y no tiene una biblioteca nativa para su architecture de CPU. Por ejemplo, si compiló una aplicación para armv7 y está tratando de instalarla en un emulador que utiliza la architecture Intel , no funcionará.

INSTALL_FAILED_NO_MATCHING_ABIS es cuando intenta instalar una aplicación que tiene bibliotecas nativas y no tiene una biblioteca nativa para su architecture de CPU. Por ejemplo, si compiló una aplicación para armv7 y está tratando de instalarla en un emulador que utiliza la architecture Intel, no funcionará.

Usando Xamarin en Visual Studio 2015. Arregle este problema por:

  1. Abra su xamarin .sln
  2. Haga clic derecho en su proyecto de Android
  3. Haga clic en propiedades
  4. Haz clic en Opciones de Android
  5. Haga clic en la pestaña ‘Avanzado’
  6. En “Arquitecturas compatibles”, compruebe lo siguiente:

    1. armeabi-v7a
    2. x86
  7. salvar

  8. F5 (comstackción)

Editar: También se ha informado que esta solución funciona en Visual Studio 2017.

Edición 2: se informó que esta solución también funciona en Visual Studio 2017 para Mac .

Estoy publicando una respuesta de otro hilo porque es lo que funcionó bien para mí, el truco es agregar soporte para ambas architectures:

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 x86 Accelerated (HAXM) simplemente agregando esto a la secuencia de comandos build.gradle de mi módulo dentro de {} block de Android:

 splits { abi { enable true reset() include 'x86', 'armeabi-v7a' universalApk true } } 

Ejecutar (comstackr) … 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 usar la línea de comandos:

 adb install (yourapp)-x86-debug.apk 

Si usa Genymotion, necesita instalar la traducción ARM y GApps

Este es un error extraño que puede causar la multidexing 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] 

Sé que hubo muchas respuestas aquí, pero la versión TL; DR es la siguiente (Si está utilizando Xamarin Studio):

  1. Haga clic con el botón derecho en el proyecto de Android en el árbol de soluciones
  2. Seleccionar Options
  3. Ir a Android Build
  4. Ir a la pestaña Advanced
  5. Compruebe las architectures que usa en su emulador (Probablemente x86 / armeabi-v7a / armeabi )
  6. Haz una aplicación kickass 🙂

El comentario de @ enl8enmentnow debería ser una respuesta para solucionar el problema usando genymotion:

Si tiene este problema en Genymotion incluso cuando usa el traductor ARM es porque está creando un dispositivo virtual x86 como el Google Nexus 10. Elija un dispositivo virtual ARM en su lugar, como una de las Tabletas personalizadas.

Visual Studio mac: puede cambiar la compatibilidad aquí:

enter image description here

Esta solución funcionó para mí. Pruebe esto, agregue las siguientes líneas en el archivo build.gradle de su aplicación

 splits { abi { enable true reset() include 'x86', 'armeabi-v7a' universalApk true } } 

En la edición de Visual Studio Community 2017, a veces la selección de ABI admitidos de Android Options no funciona.

En ese caso, verifique que el .csproj tenga la siguiente línea y no líneas duplicadas en las mismas configuraciones de comstackción.

  armeabi;armeabi-v7a;x86;x86_64;arm64-v8a 

Para editar,

  1. Descarga tu proyecto Android
  2. Haga clic derecho y seleccione Editar proyecto …
  3. Asegúrate de tener la línea anterior solo una vez en una configuración de comstackción
  4. Salvar
  5. Haga clic derecho en su proyecto de Android y vuelva a cargar

Para genymotion en mac, estaba obteniendo el error INSTALL_FAILED_NO_MATCHING_ABIS al instalar mi apk.

En mi proyecto no había ningún “APP_ABI”, pero lo agregué en consecuencia y creó solo una aplicación para ambas architectures, pero funcionó. https://stackoverflow.com/a/35565901/3241111

esto funcionó para mí … Android> Gradle Scripts> build.gradle (Módulo: aplicación) add inside android *

 android { // compileSdkVersion 27 defaultConfig { // } buildTypes { // } // buildToolsVersion '27.0.3' splits { abi { enable true reset() include 'x86', 'armeabi-v7a' universalApk true } } } 

enter image description here

Esto me pasó a mí. Revisé el Administrador de SDK y me dijo que el que estaba usando tenía una actualización. Lo actualicé y el problema desapareció.

Hay una manera simple:

  1. Desconecte el dispositivo conectado
  2. Cierre el Android Studio
  3. Reiniciar el Android Studio
  4. Conecte el dispositivo con el uso de un cable USB
  5. Presiona el botón Ejecutar e ir a tomar un café