Estoy tratando de instalar un APK que contiene bibliotecas nativas armeabi-v7a, en un emulador con KVM habilitado. Cuando intento instalar el APK en el dispositivo en ejecución, me encuentro con este error: Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
Según https://developer.android.com/studio/releases/emulator#30-0-0, el error anterior no debería ocurrir en Android 9 o 11
Imágenes del sistema Android 11
Ahora puedes crear un AVD que ejecute Android 11 seleccionando cualquiera de las imágenes del sistema disponibles para el nivel de API 30:
- x86: Incluye ABI x86 y ARMv7.
- x86_64: Incluye ABI x86, x86_64, ARMv7 y ARM64.
Soporte para binarios ARM en imágenes del sistema Android 9 y 11
Si anteriormente no podías usar el Emulador de Android porque tu aplicación dependía de binarios ARM, ahora puedes usar la imagen del sistema x86 de Android 9 o cualquier imagen del sistema de Android 11 para ejecutar tu aplicación; ya no es necesario descargar una imagen de sistema específica para ejecutar binarios ARM. Estas imágenes del sistema Android 9 y Android 11 admiten ARM de forma predeterminada y brindan un rendimiento notablemente mejorado en comparación con aquellos con emulación ARM completa.
Mi entorno es Ubuntu 18.04 (LTS). Aquí hay algunos de mis comandos de configuración:
tools 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"
(en este paso siéntete libre de reemplazar x86
con x86_64
) Ten en cuenta que he probado con servicios de google-apis/playstore y permite la instalación pero falla en tiempo de ejecución.
avdmanager create avd -n "x86" -k "system-images;android-28;default;x86"
(se aplican los mismos pasos de reemplazo)
`emulator @x86 -no-boot-anim -noaudio -no-window -verbose -wipe-data -partition-size 1024 -qemu -enable-kvm
¿Es algo que me estoy perdiendo? Editar el archivo build.prop
no ayuda.