Android Emulator-Fehlermeldung: "PANIC: Fehlendes Emulator-Engine-Programm für 'x86' CPUS."

231

Ich versuche, einen Android-Emulator mit AVD Manager auszuführen. Dies ist meine Avd: http://image-upload.de/image/fnx79V/52b0d050ee.png

und das passiert, wenn man anfängt:

http://image-upload.de/image/vGpQfa/e912d83939.png

Ich habe ein Macbook Pro Retina. Installierte den Haxm-Treiber direkt von der Intel-Seite.

Kein Emulator funktioniert. Alle erhalten die gleiche "Fehlermeldung".

Running Command (Dieser Fehler trat auf, als ich Homebrew für die Installation von Android-SDK und Android-Plattform-Tools verwendete. Jeder, der das gleiche Problem hat, sollte dies entfernen oder nachsehen, wo der Konflikt liegt.)

export ANDROID_EMULATOR_DEBUG=1 test20

emulator:Found AVD name 'test20'
emulator:Found AVD target architecture: x86
emulator:Looking for emulator-x86 to emulate 'x86' CPU
emulator:Probing program: ./emulator-x86
emulator:Probing path for: emulator-x86
emulator:Found target-specific emulator binary: /usr/local/bin/emulator-x86
emulator:Probing for: /usr/local/bin/libOpenglRender.dylib
emulator:Probing for: /usr/local/bin/lib/libOpenglRender.dylib
emulator:Probing for: /usr/local/lib/libOpenglRender.dylib
emulator:Probing for: /usr/local/bin/lib64OpenglRender.dylib
emulator:Probing for: /usr/local/bin/lib/lib64OpenglRender.dylib
emulator:Probing for: /usr/local/lib/lib64OpenglRender.dylib
emulator:Could not find OpenGLES emulation host libraries!
emulator: ERROR: This AVD's configuration is missing a kernel file!!

emulator -avd test21
emulator:Found AVD name 'test21'
emulator:Found AVD target architecture: x86_64
emulator:Looking for emulator backend for x86_64 CPU
emulator:Probing program: ./emulator-x86_64
emulator:Probing path for: emulator-x86_64
emulator:Looking for emulator-x86 to emulate 'x86_64' CPU
emulator:Probing program: ./emulator-x86
emulator:Probing path for: emulator-x86
PANIC: Missing emulator engine program for 'x86_64' CPUS.

Nachdem ich das Problem mit Homebrew behoben habe:

Ich habe ein bisschen herumprobiert und Folgendes gefunden:

emulator64-x86 -avd test20
Creating filesystem with parameters:
    Size: 69206016
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 4224
    Inode size: 256
    Journal blocks: 1024
    Label: 
    Blocks: 16896
    Block groups: 1
    Reserved block group size: 7
Created filesystem with 11/4224 inodes and 1302/16896 blocks
emulator: ERROR: Could not load OpenGLES emulation library: dlopen(lib64OpenglRender.dylib, 1): image not found
emulator: WARNING: Could not initialize OpenglES emulation, using software renderer.
HAX is working and emulator runs in fast virt mode
qemu: could not load PC BIOS 'bios.bin'

Für alle, die das gleiche Problem haben, helfen vielleicht diese Schritte:

Führen Sie Ihren Emulator im Debug-Modus aus:

export ANDROID_EMULATOR_DEBUG=1 emulatorName

Wenn es einen Pfad gibt, der seltsam aussieht, suchen Sie nach anderen Installationen wie Homebrew und entfernen Sie den Konflikt (deinstallieren Sie einen).

Wenn die Bibliothek fehlt, müssen Sie die Variable exportieren:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ANDROID_HOME/tools/lib

Und wenn der Fehler "qemu: PC-BIOS 'bios.bin' konnte nicht geladen werden" angezeigt wird, besteht eine Korrektur darin, den Emulator mit dem vollständigen Pfad auszuführen:

/Applications/Android\ Studio.app/sdk/tools/emulator64-x86 -avd test20
In your case it is maybe a other path.
Visores
quelle
3
In meinem Fall trat dieser Fehler auf, weil der SDK-Manager die 32-Bit-Binärdateien (Emulator-Arm und Emulator-x86) nicht installiert hatte, das Emulator-Programm jedoch standardmäßig nach ihnen suchte. Durch Löschen und erneutes Installieren der SDK-Tools wurden die 32 Binärdateien für mich nicht hinzugefügt. Ich kann den Emulator starten, indem ich emulator64-arm -avd 'avdname' vom Terminal aus ausführe, aber ich kann den AVD-Manager von Android Studio immer noch nicht dazu bringen, zu erkennen, dass nach der 64-Bit-Binärdatei gesucht werden muss. Eclipse AVD Manager scheint in Ordnung zu sein
CCJ
Keiner der PATH-Fixes funktionierte für mich, egal ob ich in war emulatoroder tools- ich musste das -kernelArgument für diesen Beitrag manuell angeben stackoverflow.com/a/52161215/3700490
Casey L

Antworten:

362

Wenn Sie macOS verwenden, fügen Sie dem Pfad sowohl Android SDK emulatorals auch toolsVerzeichnisse hinzu:

Schritt 1: In meinem Fall war die Reihenfolge zuerst wichtig emulatorund dann tools.

export ANDROID_SDK=$HOME/Library/Android/sdk
export PATH=$ANDROID_SDK/emulator:$ANDROID_SDK/tools:$PATH

Schritt 2: Laden Sie neu .bash_profileoder .bashrcje nach Betriebssystem

Schritt 3: Liste der verfügbaren Emulatoren abrufen: $emulator -list-avds

Schritt 4: Starten Sie den Emulator über die Befehlszeile und ersetzen Sie ihn avddurch den Namen Ihres Emulators$emulator @avd

Vergessen Sie nicht, das @Symbol hinzuzufügen .

Dies wurde mit macOS High Sierra 10.13.4 und Android Studio 3.1.2 getestet.

enreas
quelle
14
Dies ist die richtige Antwort, da $ ANDROID_SDK / tools / emulator Zugriff auf die Arten der Emulatorarchitektur benötigt, die sich im Ordner $ ANDROID_SDK / emulator / befinden.
Robert Brisita
9
Ich habe über diese Änderung hier geschrieben, wenn Sie an einem bestimmten Kontext interessiert sind :)
stkent
2
Die gleiche Antwort gilt für Ubuntu 18.04 Bionic Beaver.
Basel Shishani
Nett. Dies behebt auch einen Fehler: "Ihr Emulator ist veraltet, bitte aktualisieren Sie durch Starten von Android Studio"
Michael Bushe
Was ist, wenn Sie Windows verwenden?
Niico
87

Ich hatte dieses Problem, nachdem ich Android Studio auf 3.2 aktualisiert und sogar einige SDK-Pakete aktualisiert hatte.

Die Ursache war, dass sich der Pfad zum Emulator geändert hatte. Verwenden Sie ihn ...../Android/Sdk/tools/emulatorstattdessen nicht ....../Android/Sdk/emulator/emulator.

suther
quelle
2
Ich verwende Android Studio 3.4.2 und diese Lösung hat auch für mich funktioniert.
Hamit Enes
58

Die folgende Problemumgehung zum Starten von emulator-x86 hat bei mir funktioniert:

cd $SDK/tools; 
ln -s emulator64-x86 emulator-x86

Oder öffnen Sie unter Windows die Eingabeaufforderung (Admin)

cd %ANDROID_SDK_ROOT%\tools
mklink emulator64-x86.exe emulator-x86.exe

Und jetzt startet der Emulator vom SDK-Manager.

Hinweis : Emulatoren befinden sich in emulatorsneueren Versionen im Ordner.

Tongfa
quelle
105
Die Emulatoren wurden aus toolsund in das emulatorVerzeichnis verschoben .
rmtheis
15
Wie @rmtheis sagt, sollten Sie nicht nur eine symbolische Verknüpfung erstellen und versuchen, das System zu betrügen, sondern auch die richtige ausführbare Datei im Pfad überprüfen und hinzufügen. Führen Sie aus which emulator, um zu überprüfen, welches tatsächlich ausgewählt wird. /Users/{$USER_NAME}/Library/Android/sdk/emulator/emulatorist die richtige ausführbare Datei.
Sameer Achanta
1
@Sameer - Ich bin nicht sicher, ob Ihr Vorschlag das gleiche Problem behebt, das meine Lösung verursacht hat. Meine Lösung behebt effektiv einen Fehler im SDK. IIRC, die SDK-Installation hat den Pfad bereits konfiguriert, aber leider einige kritische Binärdateien auf 64-Bit-Systemen übersehen. Die Verwendung whichhätte nicht die richtige Binärdatei gefunden, da sie sich überhaupt nicht im Pfad befand. Ich habe eine pfadbasierte Lösung in Betracht gezogen, war jedoch der Meinung, dass die Symlink-Lösung ein Upgrade eher überlebt und in sich geschlossen ist. Klingt auch so, als hätten die SDK-Entwickler die Dinge seit 2015 verschoben, nicht sicher, ob meine Lösung mehr relevant ist.
Tongfa
12
Ändern Sie für CLI-Entwickler alle /Users/amama/Library/Android/sdk/tools/emulator @PIXEL_2_XLzu/Users/amama/Library/Android/sdk/emulator/emulator @PIXEL_2_XL
Ray Foss
5
Die Lösung von @RayFoss funktionierte für mich mit Android 28 - emulator/emulator.exestatt tools/emulator.
Mark
46

Navigieren Sie zu dem Emulatorordner in Android SDK folder/emulator

cd ${ANDROID_HOME}/emulator

Geben Sie dann diesen Befehl ein, um den Emulator ohne Android Studio zu öffnen:

$ ./emulator -list-avds
$ ./emulator -avd Nexus_5X_API_28_x86

Nexus_5X_API_28_x86 Ist meine AVD, müssen Sie Ihren AVD-Namen angeben

abinthomas12914
quelle
27

Für Windows 10, 5.29.18:

Mit dem Befehl promt bin ich gerade in das Emulatorverzeichnis gekommen:

cd C:\Android\sdk\emulator

und tippte dann den Befehl ein:

emulator -avd Nexus_S_API_27

Nexus_S_API_27 ist der Name meines benutzerdefinierten Emulators.

Andernfalls wird es missbrauchen:

PANIC: Missing emulator engine program for 'x86' CPU.
CodeToLife
quelle
4
In meinem Fall warf es PANIC: Missing emulator engine program for 'x86' CPU.auf gültigen AVD-Pfad. Wie unter stackoverflow.com/a/51627009/2914140 beschrieben , verwenden neuere Versionen von Emulatoren den emulator/emulatorPfad, während ich mit begonnen habe tools/emulator.
CoolMind
17

Auf dem Mac nach der Installation von Android Studio IDE android-studio-ide-173.4907809-mac.dmgund der Verwendung von Studio SDK Manager zur Installation von SDK Tools

Geben Sie hier die Bildbeschreibung ein

Fügen Sie Ihrem PFAD mit ~/.profileoder hinzu ~/.bash_profileund stellen Sie sicher, dass Sie $ANDROID_HOME/emulatorin Ihrem $PATHvorherigen $ANDROID_HOME/toolswie folgt haben:

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

alias androidemulator='emulator -avd Nexus_5X_API_28_x86'
ilovett
quelle
Dies führte mich zu einer einfachen Lösung unter Windows 10 und Android Studio. Aus einem unbekannten Grund wurde der Emulator nicht installiert und der Android-Emulator nicht überprüft (obwohl ich ihn letzte Woche verwendet habe, möglicherweise ein verpfuschtes Update von Android Studio). Überprüfen Sie es, klicken Sie auf die Schaltfläche Übernehmen, installieren Sie den Emulator, dann war alles in Ordnung.
Slogan621
7

Es gibt zwei benannte emulatorBinärdateien. welches sich unter $SDK/tools/emulatoreinem anderen unter befindet$SDK/emulator/

  • Bitte stellen Sie sicher, dass Sie den richtigen Emulator konfiguriert haben (müssen Sie $SDK/emulatorIhrem env PATH hinzufügen

Ich habe ein Skript geschrieben, das mir hilft, die AVD-Liste aufzurufen

    #!/bin/bash -e


    echo "--- $# $(PWD)"
    HOME_CURRENT=$(PWD)
    HOME_EMULATOR=/Users/pcao/Library/Android/sdk/emulator

    if [ "$#" -eq 0 ]
    then
        echo "ERROR pls try avd 23 or avd 28 " 
    fi

    if [ "$1" = "23" ]
    then
        echo "enter 23"
        cd $HOME_EMULATOR
        ./emulator -avd Nexus_5_API_23_Android6_ &
        cd $HOME_CURRENT
    fi

    if [ "$1" = "28" ]
    then
        echo "enter 28"
        cd $HOME_EMULATOR
        ./emulator -avd Nexus_5_API_28_GooglePlay_ &
        cd $HOME_CURRENT
    fi

caopeng
quelle
In meinem Fall lag es daran, dass sich $ ANDROID_SDK / tools vor $ ANDROID_SDK / emulator im Pfad befand.
Austin Frankreich
5

ON WINDOWS - Die Aktualisierung des Systempfads hat bei mir funktioniert. Erstellen Sie eine Umgebungsvariable für den Speicherort Ihres aufgerufenen SDK ANDROID_SDKund fügen Sie diese in der folgenden Reihenfolge zu Ihrem Pfad hinzu:

%ANDROID_SDK%\emulator
%ANDROID_SDK%\platform-tools
%ANDROID_SDK%\tools
%ANDROID_SDK%\tools\bin
Christopher Jordan
quelle
4

Getestet unter macOS Mojave 10.14.5.

Grund und Lösung:

wir benutzen sdk/tools/emulator, wir sollten benutzen sdk/emulator.

WM-C02WM0T3HTD8:~ zgong$ emulator -avd Pixel_3_XL_API_Q_x86
PANIC: Unknown AVD name [Pixel_3_XL_API_Q_x86], use -list-avds to see valid list.
HOME is defined but there is no file Pixel_3_XL_API_Q_x86.ini in $HOME/.android/avd
(Note: Directories are searched in the order $ANDROID_AVD_HOME, $ANDROID_SDK_HOME/avd, and $HOME/.android/avd)
WM-C02WM0T3HTD8:~ zgong$ emulator -avd Pixel_3_XL_API_Q
PANIC: Missing emulator engine program for 'x86' CPU.

Wir könnten den Emulatorstandort überprüfen:

WM-C02WM0T3HTD8:~ zgong$ which emulator
/Users/zgong/Library/Android/sdk/tools/emulator

Ich habe ein bisschen gegoogelt und während die meisten Antworten das korrekte Einstellen der Pfade im Terminal betrafen, stellte sich heraus, dass dies tatsächlich mit einer Verschiebung in einer neueren Version des SDK zu tun hatte, in der sich die Emulator-App stattdessen in / emulator befindet von / tools. Wenn Sie dies hier belassen, wird das gleiche Problem auftreten.

Wir müssen wie folgt verwenden:

{sdk location}/emulator -avd {avd name}

Hier ist die eigentliche Ausgabe:

WM-C02WM0T3HTD8:~ zgong$ /Users/zgong/Library/Android/sdk/emulator/emulator -avd Pixel_3_XL_API_Q
pc_memory_init: above 4g size: 40000000
emulator: WARNING: UpdateCheck: Failure: Error
emulator: WARNING: UpdateCheck: failed to get the latest version, skipping check (current version '29.2.1-5889189')
emulator: WARNING: UpdateCheck: Failure: Error
WebSocketServer listening on port 55850
Qt WebEngine ICU data not found at /Users/joshuaduong/qt-build-5.12.1/install-darwin-x86_64/resources. Trying parent directory...
Qt WebEngine ICU data not found at /Users/joshuaduong/qt-build-5.12.1/install-darwin-x86_64/resources. Trying parent directory...
Qt WebEngine ICU data not found at /Users/joshuaduong/qt-build-5.12.1/install-darwin-x86_64. Trying application directory...
Qt WebEngine ICU data not found at /Users/joshuaduong/qt-build-5.12.1/install-darwin-x86_64. Trying application directory...
Installed Qt WebEngine locales directory not found at location /Users/joshuaduong/qt-build-5.12.1/install-darwin-x86_64/translations/qtwebengine_locales. Trying application directory...
Qt WebEngine locales directory not found at location /Users/zgong/Library/Android/sdk/emulator/lib64/qt/libexec/qtwebengine_locales. Trying fallback directory... Translations MAY NOT not be correct.
Installed Qt WebEngine locales directory not found at location /Users/joshuaduong/qt-build-5.12.1/install-darwin-x86_64/translations/qtwebengine_locales. Trying application directory...
Qt WebEngine locales directory not found at location /Users/zgong/Library/Android/sdk/emulator/lib64/qt/libexec/qtwebengine_locales. Trying fallback directory... Translations MAY NOT not be correct.
Path override failed for key ui::DIR_LOCALES and path '/Users/zgong/.QtWebEngineProcess'
Path override failed for key ui::DIR_LOCALES and path '/Users/zgong/.QtWebEngineProcess'
Qt WebEngine resources not found at /Users/joshuaduong/qt-build-5.12.1/install-darwin-x86_64/resources. Trying parent directory...
Qt WebEngine resources not found at /Users/joshuaduong/qt-build-5.12.1/install-darwin-x86_64. Trying application directory...
Qt WebEngine resources not found at /Users/joshuaduong/qt-build-5.12.1/install-darwin-x86_64/resources. Trying parent directory...
Qt WebEngine resources not found at /Users/joshuaduong/qt-build-5.12.1/install-darwin-x86_64. Trying application directory...
[0403/154905.171893:WARNING:resource_bundle_qt.cpp(116)] locale_file_path.empty() for locale
[0403/154905.171871:WARNING:resource_bundle_qt.cpp(116)] locale_file_path.empty() for locale
Qt WebEngine ICU data not found at /Users/joshuaduong/qt-build-5.12.1/install-darwin-x86_64/resources. Trying parent directory...
Qt WebEngine ICU data not found at /Users/joshuaduong/qt-build-5.12.1/install-darwin-x86_64. Trying application directory...
Installed Qt WebEngine locales directory not found at location /Users/joshuaduong/qt-build-5.12.1/install-darwin-x86_64/translations/qtwebengine_locales. Trying application directory...
Qt WebEngine locales directory not found at location /Users/zgong/Library/Android/sdk/emulator/lib64/qt/libexec/qtwebengine_locales. Trying fallback directory... Translations MAY NOT not be correct.
Path override failed for key ui::DIR_LOCALES and path '/Users/zgong/.QtWebEngineProcess'
Qt WebEngine resources not found at /Users/joshuaduong/qt-build-5.12.1/install-darwin-x86_64/resources. Trying parent directory...
Qt WebEngine resources not found at /Users/joshuaduong/qt-build-5.12.1/install-darwin-x86_64. Trying application directory...
[0403/154907.393116:WARNING:resource_bundle_qt.cpp(116)] locale_file_path.empty() for locale

Referenz: https://www.reddit.com/r/androiddev/comments/a978kx/mac_can_run_emulator_fine_through_android_studio/

Francis Bacon
quelle
2

Sie können das Verzeichnis emulator-x86 nicht starten, da LD_LIBRARY_PATH speziell eingerichtet werden muss, um die PC Bios- und GPU-Emulationsbibliotheken zu finden (aus diesem Grund gibt es 'emulator', es ändert den Pfad und ruft dann emulator-x86 auf).

Haben Sie die erste Ausgabe aktualisiert? Es sieht so aus, als ob 'Emulator' immer noch '/ usr / local / bin / emulator-x86' findet.

Ziffer
quelle
Ich habe es jetzt nicht in meinem Eintrag behoben. Ich lasse es dort, wenn jemand anderes vielleicht
solche
2

Hatte das gleiche Problem unter Windows7 64bit. Der Grund, warum es nicht fehlte, war die emulator-x86.exeDatei unter sdk / tools. Es wurde behoben, indem Android SDK Tools mit dem Android SDK Manager gelöscht und erneut installiert wurden. Die Datei ist jetzt vorhanden und der Emulator funktioniert wie erwartet.

Wytas
quelle
3
Schließen Sie nach dem Löschen der Android SDK-Tools den SDK-Manager nicht. Oder Sie können es nicht erneut installieren. Schlechte Antwort ohne Warnungen.
Kiran
Vielen Dank, dies hat mein Problem unter Windows 10 64 Bit gelöst. Ich habe auch meinen SDK-Manager geöffnet gehalten, wie @Kiran vorgeschlagen hat
BeeLabeille
2

In meinem Fall musste ich Android Emulator vom Sdk-Manager installieren und es wurde behoben

Geben Sie hier die Bildbeschreibung ein

Morteza Rastgoo
quelle
1

Versuchen Sie die folgende Problemumgehung, um emulator-x86 zu starten:

export LD_LIBRARY_PATH=$SDK/tools/lib:$LD_LIBRARY_PATH
$SDK/tools/emulator-x86 <your-other-options>

Dabei ist $ SDK der Pfad zu Ihrer SDK-Installation. Das ist auf den Punkt gebracht, was 'Emulator' versucht zu tun. Möglicherweise möchten Sie emulator64-x86 anstelle von emulator-x86 starten, wenn erstere vorhanden ist.

Ziffer
quelle
1
Danke trotzdem! Du hast mich viele Schritte nach vorne bewegt :). Ich habe den Export mit dem Bibliothekspfad verwendet und den Emulator gestartet. Jetzt sagt er mir ### emulator64-x86 -avd test20 | HAX funktioniert und der Emulator läuft im Fast-Girt-Modus | qemu: PC-BIOS 'bios.bin' konnte nicht geladen werden ### eine Datei fehlt noch
Visores
1
Okay, das wird behoben, wenn ich den Emulator mit dem vollständigen Pfad starte. Warum jemals Oo? / Applications / Android \ Studio.app/sdk/tools/emulator64-x86 -avd test20 Vielleicht wissen Sie, wie Sie das beheben können: D?
Visores
Das Problem mit "bios.bin" wurde hier gelöst: groups.google.com/forum/#!msg/adt-dev/gwcLeOTfxD4/kW-qebk0C-wJ
Visores
1
Die Emulatoren wurden aus bewegt toolsin emulator.
rmtheis
1

Avast Antivirus erkennt emulator-arm.exe als Thread und blockiert aus bestimmten Gründen. Wenn Sie Ausschlüsse auf der Seite "Virus Chest" mit der rechten Maustaste hinzufügen -> "Ausschlüsse wiederherstellen und hinzufügen", wird dies in zukünftigen Ausführungen nicht behoben. So lösen Sie dies in Avast 2015 dauerhaft:

Einstellungen ->

Aktiver Schutz ->

Dateisystemschutz ->

Anpassen ->

Ausschlüsse fügen dann Thread als Ausschluss hinzu. Und dann OK drücken.

canmurat
quelle
1

Löschen Sie sowohl Android SDK Tools als auch Android SDK PLatform-Tools. Laden Sie dann beide Pakete erneut herunter. Erstellen Sie nun einen neuen Emulator und starten Sie ihn. es wird klappen. Möglicherweise können Sie Ihre alten Emulatoren ausführen.

Dira
quelle
1
Sehr wichtig, um den Emulator zu installieren und dann von Android Studio aus
Harry
1

Dies funktionierte für mich unter macOS:

echo 'export PATH=$PATH:'$HOME'/Library/Android/sdk/emulator:'$HOME'/Library/Android/sdk/tools:'$HOME'/Library/Android/sdk/platform-tools' >> ~/.bash_profile
source ~/.bash_profile
CM
quelle
1

Überprüfen Sie zuerst den Pfad Sie bekommen , which emulatorund wenn Sie erhalten /usr/local/share/android-sdk/tools/emulatordann entfernen oder diesen Emulator umbenennen (es ist ein altes) und stattdessen die Verwendung /usr/local/share/android-sdk/emulator/emulatordas ist der neue Pfad .

Wenn Sie Homebrew verwenden und mit installiert haben brew cask install android-sdk android-studio, müssen Sie:

  1. Überprüfen Sie Ihre .bashrc oder .zshrc, ob Sie die richtigen Pfade festgelegt haben:
# Remove $HOME/Library/Android paths
# The new way is to use ANDROID_SDK_ROOT
export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"
# For good measure, add old paths to be backwards compatible with any scripts or 
whatnot. And to hopefully decrease confusion:
export ANDROID_HOME=$ANDROID_SDK_ROOT
export ANDROID_NDK_HOME=$ANDROID_SDK_ROOT/ndk-bundle
  1. Starten Sie dann Ihre Terminal-Shell neu und überprüfen Sie, ob Ihre Pfade Ihren Erwartungen entsprechen:

    set | grep ANDROID

  2. Wenn die richtigen Pfade festgelegt sind, müssen Sie normalerweise das ndk und einige Tools installieren:

    sdkmanager "ndk-bundle" "cmake;3.10.2.4988404" "lldb;3.1"

    und überprüfen Sie die Liste für andere Stücke wie dieses sdkmanager --list

Ich habe auch Android Studio geschlossen, den alten Android / Sdk-Ordner unter meinem $ HOME-Ordner entfernt und Studio neu gestartet. Als ich gefragt wurde, wohin mein Sdk gegangen ist, habe ich den Sdk-Pfad eingefügt: /usr/local/share/android-sdk

Simon B.
quelle
1

Ich hatte das gleiche Problem und arbeitete nie für mich, außer bis ich zum Emulatorordner ging. Ich habe versucht, den Emulatorordner zu exportieren, aber nicht für mich gearbeitet

cd $android_home/emulator and run emulator

Am Ende schreibe ich Elias für den Befehl in die .bashrc-Datei

alias emulator="$ANDROID_HOME/emulator/emulator"
Mohannd
quelle
Anstatt cdin das Emulatorverzeichnis $ANDROID_HOME/emulator
kopos
Ich habe versucht, den Emulatorordner zum Pfad hinzuzufügen, aber es hat nicht funktioniert.
Mohannd
Bitte stellen Sie sicher, dass Sie es vor $ ANDROID_HOME / tools
kopos
1

Für Ubuntu-Benutzer

Wenn Sie bekommen PANIC: Missing emulator engine program for 'x86' CPU. diesen Fehler erhalten

Versuchen Sie, Ihren Emulator wie oben beschrieben über den Emulatorordner im SDK zu starten

usama@usama-Aspire-V5-471:~/Android/Sdk/emulator$ ./emulator -avd Pixel_2_API_29
UA_
quelle
Ich hatte den Link entfernt und einfach erklärt. danke
UA_
-1

Diese Meldung bedeutet, dass das Programm 'emulator-x86' oder 'emulator64-x86' in $ SDK / tools / fehlt oder aus irgendeinem Grund nicht gefunden werden kann.

Sind Sie sicher, dass Sie einen gültigen Download / eine gültige Installation des SDK haben?

Ziffer
quelle
Ich dachte, ich hätte einen gültigen Download. Ich habe es zweimal heruntergeladen, aber ich könnte es erneut versuchen.
Visores
und ich versuchte es erneut ... gleiche Nachricht. Ich habe alle installierten aus dem SDK-Manager entfernt, sie wieder installiert, alle AVD-Images entfernt und ... Aber es funktioniert immer noch nicht: / Auf meinem Windows 7-PC brauche ich nur 5 Minuten und es läuft, aber auf meinem Mac stimmt etwas nicht: /
Visores
Können Sie manuell über die Befehlszeile starten, dh: $ SDK / tools / emulator @ <avd-name> Wenn dies nicht funktioniert, können Sie versuchen, ANDROID_EMULATOR_DEBUG auf 1 zu definieren, wie in: export ANDROID_EMULATOR_DEBUG = 1 $ SDK / tools / emulator @ <avd-name> -verbose Hiermit sollen Informationen darüber gedruckt werden, was das Programm versucht (dh die Engine-Binärdateien suchen). Bitte teilen Sie uns die Ausgabe mit.
Ziffer
Wenn ich den Emulator -avd test20 emulator starte: FEHLER: In der Konfiguration dieser AVD fehlt eine Kerneldatei !!
Visores
1
würde erklären, warum es vor einigen Tagen funktioniert hat, ich werde es versuchen.
Visores
-3

Überprüfen Sie, ob sich Ihre EXE-Datei in Ihrer Antiviren-Quarantäne befindet

Lösungen:

  1. Laden Sie das adt-Bundle erneut von https://developer.android.com/tools/sdk herunter .
  2. Öffnen Sie die Zip-Datei.
  3. Kopieren Sie die fehlenden EXE-Dateien aus dem Ordner \sdk\tools.
  4. Über die kopierten Dateien in Ihrem Android\sdk\toolsVerzeichnis hinaus.
MagicJ
quelle