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?
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?
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 .
Desactive la depuración USB y vuelva a activarla en el dispositivo de hardware.
Allow computer to connect to this devicemensaje no se mostró la primera vez, pero sí la segunda.
En Linux: Archivo> Invalidar caché / Reiniciar En el teléfono: En su lugar Cargue este cambio de dispositivo para Transferir fotos (PTP)
Camera (PTP)a Media 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!!!
armeabisi tiene como objetivo el SDK 19 o superior. Android en sí no lo admite a partir de la
En mi caso de máquina Linux adb devicesmostró
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.
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í:
APP_ABI := armeabi armeabi-v7a x86
build.gradle
busque abiFilters y agregue la plataforma que necesita como esta:
abiFilters "armeabi","armeabi-v7a","x86"
Necesita volver a conectar su dispositivo e intentar activar / desactivar las opciones de desarrollador.
El dispositivo es compatible con x86, pero el APK solo es compatible con armeabi-v7a)
Parece que usaste una x86imagen 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.
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.
Para mí funcionó cambiando la opción de cable de
-> Charge Only.
A
-> Transfer file.
Solo ve al dispositivo Settings >> Developer Options >> Restore Default Settingsy habilitaUSB debugging
El siguiente código funcionó para mí:
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86'
}
Si usa Ubuntu:
adb kill-server
servidor de inicio adb
Funciona para mí en el sistema operativo Windows.
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
APP_ABI := armeabi-v7a:x86
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})
}
}
}
Reiniciar el dispositivo resolvió el problema para mí (React-native)
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.
Intente habilitar Fuentes desconocidas desde Opciones de seguridad. Funcionó para mí.
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í.