Je joue avec Android Studio en testant certains projets depuis GitHub et lorsque j'essaie d'émuler l'apk, cela ne me laisse pas choisir un émulateur.
Cela me dit:
L'appareil prend en charge x86, mais l'APK ne prend en charge que armeabi-v7a
Pourquoi fait-il cela?
android
android-studio
Alexandre Ibarra
la source
la source
Réponses:
J'ai eu le même problème, j'ai vérifié le build.gradle du module: app . Il s'avère qu'il existe une telle configuration:
ndk { abiFilters "armeabi-v7a", "x86" }
quand j'ai tout commenté, tout fonctionnait bien.
J'essayais de gérer le projet React Native Android .
la source
Désactivez le débogage USB et rallumez-le sur le périphérique matériel.
la source
Allow computer to connect to this device
invite ne s'affiche pas la première fois, mais l'a fait la deuxième fois.Dans Android Studio, sélectionnez le menu Créer ,
puis cliquez sur Select Build Variant ... et dans la fenêtre 'Build Variants', sélectionnez x86Debug (ou release)
PS: J'utilise Android Studio 2.3 sur Mac
la source
Sous Linux: Fichier> Invalidate Cache / Restart On phone: Au lieu de cela, chargez ce périphérique changez pour transférer des photos (PTP)
la source
Camera (PTP)
enMedia Device (MTP)
et ça marche aussi. Merci!J'ai eu le même problème et je l'ai résolu en ajoutant la valeur "x86" à la liste "abiFilters" comme ci-dessous -
[Ouvrez le fichier build.gradle (Module: app)] et recherchez " ndk " dans deafultSection et ajoutez-y "x86"!
ndk { abiFilters "armeabi", "armeabi-v7a", "x86" }
J'espère que cela aide!!!
la source
armeabi
si vous ciblez le SDK 19 et supérieur. Android lui-même ne le prend pas en charge à partir de 4.4Dans mon cas, la machine Linux a
adb devices
montréList of devices attached 44b194f5 no permissions
Puis redémarré le serveur adb
sudo adb kill-server
puis
sudo adb start-server
puis connectez votre appareil, activez le débogage et tapez
adb devices List of devices attached 44b194f5 device
Enfin, a pu fonctionner sur l'appareil
la source
Dans mon cas, mon application utilise des bibliothèques natives. Chaque plate-forme nécessite la création des bibliothèques correspondantes.
Ainsi, la lib native de la plateforme x86 (ou de toute autre) n'est pas générée, vous devez avoir ajouté un filtre quelque part:
Il existe plusieurs endroits où les filtres abi peuvent être spécifiés:
Application.mk ajoute la plate-forme dont vous avez besoin comme ceci:
build.gradle
trouvez abiFilters et ajoutez la plate-forme dont vous avez besoin comme ceci:
abiFilters "armeabi","armeabi-v7a","x86"
la source
Vous devez reconnecter votre appareil et essayer d' activer / désactiver les options de développement.
Voir Activer les options de développement et le débogage
la source
On dirait que vous avez utilisé une
x86
image dans l'émulateur.Créez-en un autre. Choisissez l'onglet "autres images" pour rechercher des appareils bras, si nécessaire.
Ou exécutez sur un appareil réel. Le dépôt que vous avez répertorié est destiné à fonctionner sur un Raspberry Pi 3 / ODroid, je pense.
la source
Peut confirmer, l'activation / désactivation du débogage USB dans les options du développeur a résolu le problème. Peut-être même annuler la fenêtre "Sélectionner la cible de déploiement" dans Android Studio et essayer de réexécuter l'application après avoir basculé le débogage USB.
la source
Pour moi, cela a fonctionné en changeant l'option de câble de
À
la source
Allez simplement sur l'appareil
Settings >> Developer Options >> Restore Default Settings
puis activezUSB debugging
la source
Le code ci-dessous a fonctionné pour moi:
ndk { abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86' }
la source
Sur mon appareil physique, j'ai commencé à avoir ça. Le correctif consistait à accéder aux paramètres du développeur et à désactiver et activer le débogage USB.
la source
Si vous utilisez Ubuntu:
la source
adb kill-server
serveur de démarrage adb
Cela fonctionne pour moi sur Windows OS.
la source
Testez votre code sur un vrai téléphone. Si vous rencontrez toujours le même problème, importez à nouveau votre code et avant cela, vous devez mettre à jour votre SDK et créer un nouvel émulateur avec l'image système ARM.
la source
Cela signifie souvent que vous n'avez pas autorisé votre ordinateur portable / ordinateur à accéder à votre appareil. Jetez un œil à votre appareil et cliquez sur le bouton "Autoriser l'accès" ainsi que sur les autorisations de débogage.
la source
L'exécution d'un AVD à l'aide du processeur x86 est 10 fois plus rapide que l'utilisation de l'émulateur ARM, mais la plupart du temps, vous ne compilez que votre APK pour ARM. Pour avoir une émulation plus rapide à l'aide d'un AVD x86, j'ai dû faire ce qui suit (pour un projet 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}) } } }
la source
Le redémarrage de l'appareil a résolu le problème pour moi (React-native)
la source
Cela m'est arrivé après la mise à jour d'Android Studio. Dans mon cas, cela s'est produit parce que le paramètre de construction n'est pas automatiquement configuré dans x86Debug-x86. Changez-le simplement en ouvrant Build >> Sélectionnez Build Variant >> Changez l'option de variante de construction d'armeabi-v7a en x86Debug-x86 ou tout ce dont vous avez besoin dans l'émulateur.
la source
Essayez d'activer les sources inconnues à partir des options de sécurité. Cela a fonctionné pour moi.
la source
je vois ça
Si vous utilisez CMake pour vos builds, vérifiez le fichier \ proj.android \ gradle.properties et mettez à jour PROP_APP_ABI pour inclure les builds pour x86, ou vous pouvez simplement utiliser l'armeabi-v7a ou arm64-v8a Android images.
Exemple: PROP_APP_ABI = armeabi-v7a: arm64-v8a: x86
Si vous n'utilisez pas cmake, regardez dans \ proj.android \ app \ jni \ Application.mk au cas où vous auriez besoin de modifier le paramètre ABI.
la source