Estoy jugando con Android Studio probando algunos proyectos desde GitHub y cuando intento emular el apk, no me deja elegir un emulador.
Me dice:
El dispositivo es compatible con x86, pero el APK solo es compatible con armeabi-v7a
¿Por qué hace esto?
android
android-studio
Alejandro Ibarra
fuente
fuente
Respuestas:
Tuve el mismo problema, comprobé build.gradle del módulo: app . Resulta que hay tal configuración:
ndk { abiFilters "armeabi-v7a", "x86" }
cuando comenté todo, todo funcionó bien.
Estaba tratando de lidiar con el proyecto React Native Android .
fuente
Desactive la depuración USB y vuelva a activarla en el dispositivo de hardware.
fuente
Allow computer to connect to this device
mensaje no se mostró la primera vez, pero sí la segunda.En Android Studio, seleccione el menú Crear ,
luego haga clic en Seleccionar Variante de compilación ... y en la ventana 'Variantes de compilación' seleccione x86Debug (o lanzamiento)
PD: estoy usando Android Studio 2.3 en Mac
fuente
En Linux: Archivo> Invalidar caché / Reiniciar En el teléfono: En su lugar Cargue este cambio de dispositivo para Transferir fotos (PTP)
fuente
Camera (PTP)
aMedia Device (MTP)
y también funciona. ¡Gracias!Tuve un problema similar y lo resolví agregando el valor "x86" a la lista "abiFilters" como se muestra a continuación:
[Abra el archivo build.gradle (Módulo: aplicación)] y busque " ndk " en deafultSection y agregue "x86".
ndk { abiFilters "armeabi", "armeabi-v7a", "x86" }
¡¡¡Espero eso ayude!!!
fuente
armeabi
si tiene como objetivo el SDK 19 o superior. Android en sí no lo admite a partir de laEn mi caso de máquina Linux
adb devices
mostróList of devices attached 44b194f5 no permissions
Luego reinició el servidor adb
sudo adb kill-server
y entonces
sudo adb start-server
luego conecte su dispositivo, encienda la depuración y escriba
adb devices List of devices attached 44b194f5 device
Finalmente pudo ejecutarse en el dispositivo.
fuente
En mi caso, mi aplicación usa algunas bibliotecas nativas. Cada plataforma requiere la construcción de las bibliotecas correspondientes.
Por lo tanto, la biblioteca nativa de x86 (o cualquier otra) plataforma no se genera. Debe haber agregado un abifilter en alguna parte:
Hay varios lugares donde se pueden especificar filtros abi:
Application.mk agrega la plataforma que necesitas así:
build.gradle
busque abiFilters y agregue la plataforma que necesita como esta:
abiFilters "armeabi","armeabi-v7a","x86"
fuente
Necesita volver a conectar su dispositivo e intentar activar / desactivar las opciones de desarrollador.
Consulte Habilitar opciones de desarrollador y depuración.
fuente
Parece que usaste una
x86
imagen en el emulador.Crea uno separado. Elija la pestaña "otras imágenes" para buscar dispositivos de brazo, si es necesario.
O ejecútelo en un dispositivo real. El repositorio que enumeró está destinado a ejecutarse en una Raspberry Pi 3 / ODroid, creo.
fuente
Puede confirmar, activar y desactivar la depuración USB en Opciones de desarrollador resolvió el problema. Tal vez incluso cancele la ventana "Seleccionar destino de implementación" en Android Studio e intente ejecutar la aplicación nuevamente después de alternar la depuración USB.
fuente
Para mí funcionó cambiando la opción de cable de
A
fuente
Solo ve al dispositivo
Settings >> Developer Options >> Restore Default Settings
y habilitaUSB debugging
fuente
El siguiente código funcionó para mí:
ndk { abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86' }
fuente
En mi dispositivo físico, comencé a recibir esto. La solución fue ir a la Configuración del desarrollador y apagar y encender la depuración USB.
fuente
Si usa Ubuntu:
fuente
adb kill-server
servidor de inicio adb
Funciona para mí en el sistema operativo Windows.
fuente
Pruebe su código en un teléfono real. Si aún tiene el mismo problema, vuelva a importar su código y antes de esto, debe actualizar su SDK y crear un nuevo emulador con la imagen del sistema ARM.
fuente
Muchas veces esto significa que no le ha otorgado a su computadora portátil / computadora acceso a su dispositivo. Eche un vistazo a su dispositivo y haga clic en el botón "Permitir acceso", así como en los permisos de depuración.
fuente
Ejecutar un AVD usando el procesador x86 es 10 veces más rápido que usar el emulador ARM, pero la mayoría de las veces solo está compilando su APK para ARM. Para tener ejecuciones de emulación más rápidas usando un AVD x86, tuve que hacer lo siguiente (para un proyecto Cocos2d-x):
app / jni / Android.mk
gradle.properties
PROP_APP_ABI=armeabi-v7a:x86
app / build.gradle
android { ... defaultConfig { ... ndk { abiFilters = [] abiFilters.addAll(PROP_APP_ABI.split(':').collect{it as String}) } } }
fuente
Reiniciar el dispositivo resolvió el problema para mí (React-native)
fuente
Me pasó después de actualizar Android Studio. En mi caso, sucedió porque la configuración de compilación no se configura automáticamente en x86Debug-x86. Simplemente cámbielo abriendo Build >> Select Build Variant >> Cambie la opción de build variant de armeabi-v7a a x86Debug-x86 o lo que necesite en el emulador.
fuente
Intente habilitar Fuentes desconocidas desde Opciones de seguridad. Funcionó para mí.
fuente
veo esto
Si está usando CMake para sus compilaciones, verifique el archivo \ proj.android \ gradle.properties y actualice PROP_APP_ABI para incluir las compilaciones para x86, o alternativamente, puede usar armeabi-v7a o arm64-v8a Android imágenes.
Ejemplo: PROP_APP_ABI = armeabi-v7a: arm64-v8a: x86
Si no está usando cmake, busque en \ proj.android \ app \ jni \ Application.mk en caso de que necesite cambiar la configuración de ABI allí.
fuente