Ich spiele mit Android Studio herum, indem ich einige Projekte von GitHub teste. Wenn ich versuche, die apk zu emulieren, kann ich keinen Emulator auswählen.
Es sagt mir:
Gerät unterstützt x86, aber APK unterstützt nur armeabi-v7a
Warum macht es das?
android
android-studio
Alexander Ibarra
quelle
quelle
Antworten:
Ich hatte das gleiche Problem, ich checke die build.gradle von module: app . Es stellt sich heraus, dass es eine solche Konfiguration gibt:
Als ich alles auskommentierte, funktionierte alles gut.
Ich habe versucht, mich mit dem React Native Android-Projekt zu befassen .
quelle
Deaktivieren Sie das USB-Debugging und schalten Sie es wieder auf dem Hardwaregerät aus.
quelle
Allow computer to connect to this device
Eingabeaufforderung nicht beim ersten, sondern beim zweiten Mal angezeigt wurde.Wählen Sie in Android Studio das Menü Erstellen .
Klicken Sie dann auf Build-Variante auswählen ... und wählen Sie im Fenster "Varianten erstellen " die Option x86Debug (oder Release) aus.
PS: Ich benutze Android Studio 2.3 auf dem Mac
quelle
Unter Linux: Datei> Cache ungültig machen / neu starten Am Telefon: Laden Sie stattdessen diese Geräteänderung auf Fotos übertragen (PTP) auf.
quelle
Camera (PTP)
zu gewechseltMedia Device (MTP)
und es funktioniert auch. Danke dir!Ich hatte ein ähnliches Problem und habe es behoben, indem ich der Liste "abiFilters" wie unten den Wert "x86" hinzugefügt habe -
[Öffnen Sie die Datei build.gradle (Modul: App)] und suchen Sie in deafultSection nach " ndk " und fügen Sie "x86" hinzu!
Ich hoffe es hilft!!!
quelle
armeabi
wenn Sie auf SDK 19 und höher abzielen. Android selbst unterstützt es nicht ab 4.4In meinem Fall von Linux-Maschine
adb devices
gezeigtStarten Sie dann den ADB-Server neu
und dann
Schließen Sie dann Ihr Gerät an, schalten Sie das Debuggen ein und geben Sie ein
Endlich konnte auf dem Gerät ausgeführt werden
quelle
In meinem Fall verwendet meine App einige native Bibliotheken. Für jede Plattform müssen die entsprechenden Bibliotheken erstellt werden.
Die native Bibliothek der x86-Plattform (oder einer anderen Plattform) wird also nicht generiert. Sie müssen irgendwo einen Abifilter hinzugefügt haben:
Es gibt mehrere Stellen, an denen Abi-Filter angegeben werden können:
Application.mk fügt die Plattform, die Sie benötigen, folgendermaßen hinzu:
build.gradle
Finden Sie abiFilters und fügen Sie die Plattform hinzu, die Sie wie folgt benötigen:
quelle
Sie müssen wieder an Ihr Gerät und versuchen deaktivieren / auf den Entwickleroptionen.
Siehe Entwickleroptionen und Debugging aktivieren
quelle
Klingt so, als hätten Sie ein
x86
Bild im Emulator verwendet.Erstellen Sie eine separate. Wählen Sie die Registerkarte "Andere Bilder", um Armgeräte zu finden, falls erforderlich.
Oder führen Sie es auf einem tatsächlichen Gerät aus. Das von Ihnen aufgelistete Repo soll auf einem Raspberry Pi 3 / ODroid laufen, denke ich.
quelle
Kann bestätigen, dass das Problem durch Ein- und Ausschalten des USB-Debugging in den Entwickleroptionen behoben wurde. Brechen Sie möglicherweise sogar das Fenster "Bereitstellungsziel auswählen" in Android Studio ab und versuchen Sie, die App erneut auszuführen, nachdem Sie das USB-Debugging umgeschaltet haben.
quelle
Bei mir hat es geklappt, die Kabeloption von zu ändern
Zu
quelle
Gehen Sie einfach zum Gerät
Settings >> Developer Options >> Restore Default Settings
und aktivieren Sie esUSB debugging
quelle
Auf meinem physischen Gerät bekam ich dies. Das Update bestand darin, in die Entwicklereinstellungen zu wechseln und das USB-Debugging aus- und einzuschalten.
quelle
Wenn Sie Ubuntu verwenden:
quelle
adb kill-server
ADB-Startserver
Es funktioniert für mich unter Windows.
quelle
Der folgende Code hat bei mir funktioniert:
quelle
Testen Sie Ihren Code auf einem echten Telefon. Wenn Sie immer noch das gleiche Problem haben, importieren Sie Ihren Code erneut. Zuvor sollten Sie Ihr SDK aktualisieren und einen neuen Emulator mit ARM-Systemabbild erstellen.
quelle
Oft bedeutet dies, dass Sie Ihrem Laptop / Computer keinen Zugriff auf Ihr Gerät gewährt haben. Schauen Sie sich Ihr Gerät an und klicken Sie auf die Schaltfläche "Zugriff zulassen" sowie auf die Debugging-Berechtigungen.
quelle
Das Ausführen einer AVD mit dem x86-Prozessor ist 10-mal schneller als mit dem ARM-Emulator. Meistens kompilieren Sie jedoch nur Ihre APK für ARM. Um schnellere Emulationsläufe mit einer x86-AVD zu erzielen, musste ich Folgendes tun (für ein Cocos2d-x-Projekt):
app / jni / Android.mk
gradle.properties
app / build.gradle
quelle
Neustart des Geräts gelöst Problem für mich (React-native)
quelle
Es ist mir passiert, nachdem ich das Android Studio aktualisiert habe. In meinem Fall geschah dies, weil die Build-Einstellung nicht automatisch in x86Debug-x86 konfiguriert wurde. Ändern Sie es einfach, indem Sie Build >> Build-Variante auswählen >> Ändern Sie die Build-Varianten-Option von armeabi-v7a in x86Debug-x86 oder was auch immer Sie im Emulator benötigen.
quelle
Versuchen Sie, unbekannte Quellen in den Sicherheitsoptionen zu aktivieren . Es hat bei mir funktioniert.
quelle
ich sehe es
Wenn Sie CMake für Ihre Builds verwenden, überprüfen Sie die Datei \ proj.android \ gradle.properties und aktualisieren Sie PROP_APP_ABI, um die Builds für x86 einzuschließen. Alternativ können Sie auch armeabi-v7a oder arm64-v8a Android verwenden Bilder.
Beispiel: PROP_APP_ABI = armeabi-v7a: arm64-v8a: x86
Wenn Sie cmake nicht verwenden, suchen Sie in \ proj.android \ app \ jni \ Application.mk nach, falls Sie dort die ABI-Einstellung ändern müssen.
quelle