3 votos

¿Es posible instalar una aplicación compilada para ARM en una imagen de emulador x86?

Intenté instalar un apk desde internet en un dispositivo virtual, pero no se instaló debido a INSTALL_FAILED_NO_MATCHING_ABIS.

Soy capaz de instalarlo en una imagen ARM, pero las imágenes ARM son súper lentas en mi ordenador. Entonces, ¿es posible convertir o modificar el apk para usar x86?

Una de las respuestas en este Correo electrónico: dijo "Si usas Genymotion necesitas Instalación de ARM Translation y GApps ". Pero los comentarios sobre esa respuesta dicen que ya no funciona.

¿Hay alguna forma de hacerlo?

1 votos

Si la parte nativa es una biblioteca común de código abierto, añadir la biblioteca común para x86 al APK y luego renunciar a ella podría ser una opción.

0 votos

@Robert ¿cómo puedo saber qué biblioteca le falta?

1 votos

Sólo tienes que abrir el archivo APK con un visor ZIP. Compruebe el lib carpeta. Cada lib -subcarpeta es para una plataforma y en cada subcarpeta tienen que estar presentes las mismas bibliotecas (compiladas para la plataforma específica). Supongo que la x86 falta la subcarpeta, lo que hace que el NO_MATCHING_ABIS mensaje.

4voto

Andy Brudtkuhl Puntos 1714

No, no es posible. Necesitas encontrar una versión de la aplicación que haya sido compilada para x86, o sin partes específicas de la arquitectura (es decir, sólo Java).

0 votos

Por favor, corrígeme si me equivoco, pero debería haber un ajuste en las opciones del desarrollador para la compatibilidad.

4voto

ccpizza Puntos 146

Genymotion con traducción ARM

Puede utilizar genymotion (la versión de uso personal es gratuita) con una ROM Oreo + ARM_Translation_Oreo.zip (busca en Google el nombre del archivo para descargarlo). Una vez que descargues el zip simplemente arrastra y suéltalo en la ventana del emulador, acepta el aviso y luego reinicia el emulador. No es una solución ligera, ya que genymotion utiliza virtualbox como backend, pero funciona mucho más rápido que las imágenes arm de google disponibles con Android studio.

Emulador estándar de Android con una imagen ARM

Otra opción (no responde directamente a tu pregunta) es utilizar realmente una imagen ARM en lugar de X86. En Android Studio > Herramientas > Gestor de AVD > Crear dispositivo virtual cuando se le pida Seleccione una imagen del sistema seleccione el Otras imágenes y elija una imagen basada en el brazo - esas imágenes se ejecutarán MUY lentamente en comparación con X86. Recibirás una advertencia de que no es recomendable, pero podrías obtener un rendimiento aceptable si seleccionas la versión más antigua de la API posible (dependiendo de tus necesidades) con una resolución de pantalla baja.

0 votos

Funciona de maravilla. ¡Gracias!

1voto

Jason Zong Puntos 1

En el emulador de Android https://developer.Android.com/studio/releases/emulator página, destacó que la aplicación basada en el brazo ahora se puede instalar y ejecutar en Android 9 y 11 emulador.

Como comenta @K3rnel31, el emulador de Android 11 no puede arrancar como sistema escribible. Android serán sus amigos. Requiere descargar la imagen del sistema "Android 9.0 Google X86_ARM".

0voto

richard Puntos 123

Por ahora Android R (11) x86_64 soporta la aplicación arm , acaba de probarlo y funciona , pero no hay manera de Rootarlo , si buscas probar aplicaciones será para nada

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X