Nach dem Eingeben cordova run android
des Terminals wird folgende Fehlermeldung angezeigt:
Waiting for emulator to start...
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/Users/username/Library/Android/sdk]!
Dies geschieht nach dem Export:
export ANDROID_SDK_ROOT='/Users/username/Library/Android/sdk'
Vor dem Export habe ich:
Waiting for emulator to start...
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
Irgendwelche Ideen, wo ich falsch liege? Ich bin mir sicher, dass dies die SDK-Wurzel ist. Warum bekomme ich einen kaputten AVD-Systempfad?
1>PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT 1>Emulator Nexus_5X_API_23 cannot be started.
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/usr/local/share/android-sdk]!
Wenn ich diesen Pfad überprüfe->echo $ANDROID_SDK_ROOT /usr/local/share/android-sdk
. Der Emulator stürzt also ab, obwohl der Pfad korrekt ist.Antworten:
Es kann verschiedene Probleme geben, wenn Sie Ihre AVD oder Ihr SDK in ein anderes Verzeichnis verschieben oder ein altes SDK durch ein neues ersetzen oder das SDK irgendwie beschädigen.
Im Folgenden beschreibe ich alle möglichen Probleme, die ich kenne, und gebe Ihnen verschiedene Möglichkeiten, sie zu lösen.
Unvollständige / beschädigte SDK-Struktur
Diese beiden Fehler treten auf, wenn der Emulator das SDK nicht finden kann oder das SDK defekt ist.
Daher empfehle ich zunächst, die
ANDROID_SDK_ROOT
Variable überhaupt zu entfernen . Es wird nur benötigt, wenn sich der Emulator außerhalb des SDK-Verzeichnisses befindet. Im Allgemeinen bleibt Ihr Emulator jedoch im SDK-Verzeichnis. In diesem Fall muss der SDK-Speicherort automatisch erkannt werden . Wenn dies nicht der Fall ist, hat Ihr SDK wahrscheinlich einen falschen Dateibaum. Bitte machen Sie folgendes:Überprüfen Sie, ob das SDK - Verzeichnis hat mindestens diese vier Verzeichnisse:
emulator
,platforms
,platform-tools
,system-images
. Es ist sehr wichtig! Diese Verzeichnisse müssen vorhanden sein. Wenn einige von ihnen nicht existieren, erstellen Sie einfach leere Verzeichnisse.Gehe zu
<user_home>/.android/avd/<avd_name>
und öffneconfig.ini
. Finden Sie dieimage.sysdir.1
Eigenschaft. Es zeigt auf das Verzeichnis im SDK-Verzeichnis, das das eigentliche Systemabbild enthält. Stellen Sie sicher , dass dieses Verzeichnis existiert und enthält Dateien wiebuild.prop
,system.img
etc. Wenn es nicht der Fall ist, dann müssen Sie das öffnen SDK - Manager und Download - System Bilder Ihre AVD erfordert (siehe unten).Wenn alles richtig eingerichtet ist, müssen diese Fehler
ANDROID_SDK_ROOT
behoben sein. Wenn dies nicht der Fall ist, können Sie jetzt versuchen, eineANDROID_SDK_ROOT
Variable einzurichten .Erforderliche Pakete und HAXM sind nicht installiert
Das nächste Problem besteht darin, dass der Emulator gestartet wird, aber auflegt oder sofort beendet wird. Das bedeutet wahrscheinlich, dass Sie nicht alle erforderlichen Pakete installiert haben.
Ein weiterer möglicher Fehler ist:
Um eine AVD erfolgreich zu starten, müssen Sie sicherstellen, dass mindestens diese Pakete installiert sind:
Und wie bereits erwähnt, müssen Sie beispielsweise System-Images installieren, die Ihre AVD verwendet
system-images;android-25;google_apis;x86
Außerdem empfehle ich, HAXM manuell auf Ihrem System zu installieren .
Qcow2-Dateien beziehen sich auf falsche / nicht vorhandene Basis-Images
Das letzte Problem, das ich erwähnen werde, tritt auf, wenn Sie versuchen, AVD oder SDK von einem Computer oder Verzeichnis auf einen anderen zu verschieben. In diesem Fall kann folgende Fehlermeldung angezeigt werden:
Es gibt zwei Möglichkeiten, dies zu beheben:
Wenn Sie sich nicht für die Daten interessieren, die die AVD enthält, löschen Sie einfach alle
qcow2
Dateien aus dem AVD-Verzeichnis (z<user_home>/.android/avd/<avd_name>
. B. von ). In diesem Fall erhalten Sie eine saubere Version von Android, wie nach einem Hard-Reset.Wenn Ihnen die Daten auf dem Emulator wichtig sind, öffnen Sie alle
qcow2
Dateien nacheinander mit einem beliebigen HEX-Editor (ich bevorzuge HxD ), suchen Sie den Pfad einer Basisdateiimg
und ändern Sie ihn imOverwrite
Modus in den richtigen (um die zu erhalten) Dateigröße). Wählen Sie dann den Pfad aus und erhalten Sie seine Länge in hexadezimaler Form (z2F
. B. ).2F
repräsentiert den ASCII-Schrägstrich/
. Setzen Sie es in Position13
:PS: Ich bin mir nicht sicher, aber es gibt wahrscheinlich einige Dienstprogramme wie qemu-img , mit denen Sie ein anderes Basis-Image festlegen können. Für mich ist es einfacher, die Binärdatei manuell zu bearbeiten.
Jetzt können Sie Ihr virtuelles Android-Gerät wahrscheinlich erfolgreich starten. Hoffentlich :)
quelle
hw.cpu.arch
in der config.ini fehlentools/bin/sdkmanager "platform-tools"
. Es war so schmerzhaft zu finden, was aufgrund dieser dummen Fehlermeldung ("PANIK: AVD-Systempfad kann nicht gefunden werden. Bitte definieren Sie ANDROID_SDK_ROOT"), die nicht klar sagte, was das Problem war ...Auf Mac: Ich hatte sowohl
android-sdk
mitbrew
als auch mit Android Studio installiert . Irgendwie verursachten 2 Installationen dieses Problem. Als ich meine Brew-Installation des SDK mit deinstalliertebrew cask uninstall android-sdk
und die folgenden Vars zu meiner Umgebung hinzufügte. Es funktionierte.quelle
android-sdk
während der NativeScript-Installation installiert. Der Emulator wird jetzt direkt von Android Studio gestartet, aber nicht über NativeScript (tns run android)Dies wird Ihr Problem in macOS lösen:
quelle
Beheben des Fehlers bei Verwendung des Android SDK von Homebrew als Standard-SDK
Als @EFreak habe ich das android-sdk mit homebrew (einem Paketmanager für Macs) installiert. Ich musste die folgenden Schritte ausführen, um den Fehler zu beheben, da ich den Nativescript-Tutorials folgte und auf den Fehler stieß. Wenn Sie möchten, dass ich die Brew-Version über die Android-SDK-Version verwenden möchte, verwenden Sie diese Antwort (damit können Sie Nativescripts verwenden
tns run android
API). Wenn Sie die Android-Studio-Standardeinstellung Android-SDK verwenden möchten, folgen Sie der Antwort von @ EFreak.Konfigurieren von Android Studio für die Verwendung der Android SDKs von Homebrew
Grundsätzlich müssen Sie nur Ihren Android SDK-Speicherort in Android Studio ändern. Öffnen Sie zuerst ein Projekt in Android Studio. Öffnen Sie dann den SDK-Manager, indem Sie auf diese Schaltfläche klicken.
Wenn die Standardeinstellungen für den Android SDK-Manager angezeigt werden, müssen Sie neben dem Speicherort des Android SDK auf Bearbeiten klicken.
Finden des Speicherorts des Android SDK von Homebrew
Als nächstes müssen Sie den SDK-Speicherort auf dem Setup-Bildschirm für SDK-Komponenten aktualisieren, auf dem sich mein
brew
Android-SDK befand/usr/local/share/android-sdk
. Sie können herausfinden, wo Ihre installiert ist, indem Sie siebrew cask info android-sdk
am unteren Rand der Ausgabe ausführen und sagen:Der Wert der
export
ed-ANDROID_SDK_ROOT
Variablen (die hier ist/usr/local/share/android-sdk
) ist der Standort des Android SDK durch Home-Brew.Dann müssen Sie auf die Schaltfläche Android SDK-Speicherort (im Bild als 1 gekennzeichnet) klicken und den Android SDK-Speicherort von Homebrew einfügen.
Beenden Sie dann einfach den Assistenten, indem Sie die gewünschten Pakete installieren. In diesem Schritt musste ich meine Geräteemulatoren löschen und neu erstellen, aber danach schien es großartig zu funktionieren.
Festlegen der Umgebungsvariablen für Android SDK so, dass sie auf das Android SDK von Homebrew verweisen
Außerdem möchten Sie möglicherweise sicherstellen, dass in Ihrem Profileinstellungsskript die Umgebungsvariablen
ANDROID_HOME
undANDROID_SDK_ROOT
Umgebungsvariablen auf Ihren Homebrew-Speicherort des Android SDK festgelegt sind, wenn Sie die Homebrew-Route wählen. Andernfalls funktioniert das oben Gesagte noch nicht. Dies kann sich vom Homebrew-Speicherort aus ändern, wenn Sie Homebrew vor der Installation von Android Studio installiert haben, wie in dieser Antwort von @Jamie Armor angegeben . Sie können überprüfen, ob die Umgebungsvariablen für das Android SDK korrekt eingestellt sind, indem Sieecho $ANDROID_HOME
und ausführenecho $ANDROID_SDK_ROOT
und sicherstellen , dass sie sowohl die Homebrew Lage des android sdk zeigen.Wenn Sie die Werte ANDROID_HOME und ANDROID_SDK_ROOT ändern müssen, können Sie dies in Ihren Profileinstellungen auf Ihrem Mac tun, die sich wahrscheinlich in
~/.bash_profile
"~ / .bashrc" oder "~ / .profile" befinden und wie folgt definiert sind:Sie müssen die Werte beider Exporte auf die richtigen Werte des Android SDK-Speicherorts von Homebrew ändern und dann die Datei speichern. Um zu überprüfen, ob die richtigen Werte geschrieben wurden, sollten Sie zuerst entweder Ihr Terminal schließen und öffnen, um die Datei erneut auszuführen und die Umgebungsvariablen zurückzusetzen, oder Sie können die Datei als Quelle verwenden, indem Sie ausführen,
source <profile file name>
wo sich die von Ihnen bearbeitete und gespeicherte Profildatei befindet. Sie können dann erneut ausführenecho $ANDROID_HOME
undecho $ANDROID_SDK_ROOT
überprüfen, ob sie den Homebrew-Android-SDK-Speicherort haben.quelle
tns run android.
Dies hat bei mir funktioniert, bevor ich das Nativescript-Setup-Skript ausgeführt habe. Das Drehbuch hat viele Dinge kaputt gemacht -_-Dies bedeutet, dass Ihr Pfad zu Werkzeugen falsch ist. So sieht es auf einem Mac mit Brew aus. Achten Sie auf die Version.
In Ihrem Fall sollten Sie Folgendes ausführen:
quelle
ANDROID_SDK_ROOT
ist eingestellt.bash_profile
. Gibt sogarecho $ANDROID_SDK_ROOT
den richtigen Pfad an:/usr/local/Cellar/android-sdk/24.4.1_1
Ich verwende macOS mit HomeBrew.Ich hatte das gleiche Problem in
Windows 10. Das Problem wurde behoben, indem die folgenden Schritte ausgeführt wurden.
Android Studio öffnen
- Werkzeuge
- SDK - Manager
- kopieren Android SDK Location
Android SDK Location
Set Systemumgebungsvariable
ANDROID_HOME und ANDROID_SDK_ROOT
Systemumgebungsvariable
quelle
Ich hatte das gleiche Problem nach dem Emulator-Update. Das Problem wurde nach dem Hinzufügen der Variablen ANDROID_AVD_HOME behoben
Wichtig: Nicht-ASCII-Zeichen können im Pfad nicht verwendet werden. Installieren Sie schließlich die virtuellen Geräte neu oder überschreiben Sie den Gerätepfad manuell in der Datei Configuration settings.ini, die den alten Pfad mit Nicht-ASCII-Zeichen enthält.
quelle
Ich habe Android Studio unter Windows 10 ausgeführt, ANDROID_HOME und ANDROID_SDK_ROOT für Umgebungsvariablen festgelegt und trotzdem den Fehler erhalten.
Es stellte sich heraus, dass ich vergessen habe, das Gerät herunterzuladen.
Nach dem Herunterladen des "Fehlenden Systemabbilds" funktioniert alles einwandfrei.
quelle
In meinem Fall war es kaputt, weil ANDROID_HOME und ANDROID_SDK_ROOT unterschiedlich waren. Sobald ich ANDROID_HOME so eingestellt habe, dass es mit ANDROID_SDK_ROOT identisch ist, hat es angefangen zu funktionieren.
quelle
Die Antwort von Oleg Cherrs führte mich zu einer Lösung. Wie er schon sagte
Ich habe die entsprechende Emulator * .ini-Datei im avd-Verzeichnis gefunden. Dort habe ich den Eintrag "image.sysdir.1" geändert. Ich habe den Verwandten durch einen absoluten Pfad ersetzt (fügen Sie die ANDROID_SDK_ROOT vorne an). Danach startete der Emulator wie erwartet über die Befehlszeile.
quelle
C:\Users\edkol\.android\avd
sehe aber keine config.ini - muss ich eine hinzufügen? Wenn ja, wo kann ich es bekommen?Das Platfoms- Verzeichnis fehlte in / usr / local / share / android-sdk .
Ich habe ein leeres Verzeichnis mit dem Namen "Plattformen" erstellt, mit dem das Problem behoben wurde.
quelle
ok ich kann android von cordova ausführen, ich habe ANDROID_HOME in geändert,
quelle
Sie sollten AVD Emulator hinzufügen. Gehen Sie zu diesem Ort:
Starten Sie den AVD Manager und klicken Sie auf der zweiten Registerkarte (Gerätedefinitionen) auf die Schaltfläche "createAVD".
quelle
Ich bin heute auf dieses Problem gestoßen und habe es geschafft, es zu lösen.
Emulator: [140735565005632]: FEHLER: android / android-emu / android / qt / qt_setup.cpp: 28: Qt-Bibliothek nicht gefunden unter / Users / your_user_name / Library / Android / sdk / emulator / lib64 / qt / lib
15:08 Emulator: '/ Users / your_user_name / Library / Android / sdk / emulator / qemu / darwin-x86_64 / qemu-system-x86_64' konnte nicht gestartet werden: Keine solche Datei oder kein solches Verzeichnis
Die Lösung war ziemlich einfach. Installieren Sie einfach den Android-Emulator über Android Studio => tools => Android => SDK-Manager => SDK-Tools => wählen Sie Android Emulator => Übernehmen
Ich verwende ein MacBook Pro unter macOS High Sierra und glaube, Ihr Computer hat nichts mit diesem Problem zu tun. Der Emulator ist offensichtlich nicht installiert, wenn der Android Studio-Installationsmanager zum ersten Mal ausgeführt wird, zumindest für mich, mit Android Studio 3.0.1
Stellen Sie außerdem sicher, dass Ihre Pfade in Ihrem .bashrc oder .zshrc wie folgt definiert sind:
quelle
Ich bin in Windows 10 und das Problem war, dass das Verzeichnis der avd auf meinem Computer Nicht-ASCII-Zeichen enthielt.
Folgendes ist zu tun:
Führen Sie cmd als Administrator aus
Führen Sie den folgenden Befehl aus:
(Dadurch wird eine symbolische Verbindung zwischen dem Pfad mit Nicht-ASCII-Zeichen und dem neuen hergestellt.)
Fügen Sie in Umgebungsvariablen
ANDROID_AVD_HOME
Variablen mit Wert hinzuC:\\.android\avd
.quelle
Überprüfen Sie, ob das von Ihrer AVD verwendete System-Image unter heruntergeladen wurde
$ANDROID_SDK_ROOT/system-images/
quelle
Ich hatte das gleiche Problem, das nach dem Festlegen der folgenden Pfadvariablen verschwunden ist. Hinweis Der AVD Home-Pfad unterscheidet sich von den anderen drei.
quelle
NativeScript
Für alle, die Probleme beim Starten des Android-Emulators über NativeScript haben, wurden wahrscheinlich die Umgebungsvariablen ANDROID_HOME und ANDROID_SDK_ROOT überschrieben.
Ich habe es geschafft, ein Problem für mich selbst zu erstellen, indem ich Android Studio installiert habe, um einen anderen Emulator zu generieren. Ich tat dies, nachdem ich das Android SDK bereits über Home Brew installiert hatte.
Wenn Sie also während der NativeScript-Installation ausgewählt haben, Android SDK über HomeBrew zu installieren, stellt NativeScript Folgendes wie folgt ein:
Bei der anschließenden Installation von Android Studio werden diese Werte wie folgt überschrieben:
Natürlich gibt es einen Konflikt mit Android Studio und der NativeScript / Brew-Installation des Android SDK. Wenn Sie das eine oder andere entfernen und / oder überprüfen, ob die env-Variable den richtigen Pfad enthält, sollte Ihr Emulator gestartet werden.
quelle
Nachdem ich einige Zeit andere "Lösungen" von Googled ausprobiert hatte, funktionierte das einzige, was für mich funktionierte, nachdem ich die Umgebungsvariable ANDROID_SDK_ROOT unter Windows festgelegt und auch die Variablen ANDROID_HOME und ANDROID_SDK_HOME hinzugefügt und entfernt hatte, die Antwort von Xerox23 - das Bearbeiten der config.ini der AVD auf Hardcode Der Wert von ANDROID_SDK_ROOT in die Eigenschaft image.sysdir.1.
Hierbei wurde Android Studio 3.0.1 und Emulator 26.1.4 verwendet, um das virtuelle Gerät über den AVD Manager in Android Studio zu starten.
quelle
Für Windows-Computer: Nachdem Sie eine Menge des festgelegten Pfads ausprobiert haben, entfernen Sie den Pfad usw. Schließlich müssen Sie den Ordner suchen
C:\Users\johndoe\.android
und löschen. Danach können Sie Ihr Android Studio zu Mittag essen. Sie werden aufgefordert, eine neue AVD herunterzuladen und zu installieren. Anschließend werden ein neuer Ordner und neue Dateien überschrieben und erstellt. Dies löst das Problem.quelle
Um dieses Problem zu lösen, musste ich das Paket mit dem fehlenden Systemabbild mit SDK Manager.exe installieren (unter "C: \ Programme (x86) \ Android \ android-sdk"). Ich hatte festgestellt, dass das benötigte System-Image ("android-23") in "C: \ Programme (x86) \ Android \ android-sdk \ system-images" fehlte.
Nachdem ich SDK Manager.exe ausgeführt und die entsprechenden Pakete installiert hatte, konnte ich den Emulator in Android Studio ausführen.
Hier ist die Lösung, die für mich funktioniert hat:
https://www.embarcadero.com/starthere/xe5/mobdevsetup/android/en/creating_an_android_emulator.html
quelle
Befolgen Sie die folgenden Schritte, um Ihr Problem zu lösen
1.
2.
3.
quelle
Ich habe dieses Problem durch Entfernen der Datei gelöst
/usr/local/share/android-sdk
, da diese Datei erstellt wurde, als ich es mit Homebrew versuchte.das genügt ....
quelle
Öffnen Sie Ihr Android Studio und konzentrieren Sie sich auf die Symbolleiste.
Gehen Sie dann zu Tools> SDK-Manager
Aussehen und Verhalten> Systemeinstellungen> Android SDK
Kopieren Sie nun auf der Registerkarte den Android SDK-Speicherort von hier aus den Android SDK-Speicherort
Gehen Sie dann zu Ihren Umgebungsvariablen und legen Sie den Pfad zusammen mit diesen Variablen fest
Umgebungsvariablen
quelle
quelle
ANDROID_SDK_HOME ist ein Zeiger auf das Stammverzeichnis Ihrer ".android" -Datei, die standardmäßig unter "C: \ Users \ name \ .android" erstellt wird, und NICHT auf das Stammverzeichnis Ihres SDK-Ordners. Dann: - Das Zuweisen von ANDROID_SDK_HOME zum SDK-Stammordner funktioniert nicht. - Wenn der Pfad Ihrer ".android" -Datei Nicht-ASCII-Zeichen enthält, funktioniert dies nicht. - Der AVD-Ordner muss sich in Ihrer aktuellen ".android" -Datei befinden.
Die Antwort lautet also:
Prost.
quelle
Tried these 小, 注意! 原因 d avd 目录 不能 包含 中文 Ich habe alle diese Methoden oben ausprobiert, und ich erhalte immer noch den Fehler, und ich frage mich, ob es daran liegt, dass mein avd-Verzeichnis chinesische Zeichen enthält. Also ändere ich das Standard-AVD-Verzeichnis durch die folgenden Schritte, und es hat funktioniert. 1. Erstellen Sie einen Ordner, dessen Pfad kein Nicht-ASCII-Zeichen enthält. 2. Kopieren oder schneiden Sie den Standard-AVD-Ordner
$HOME/.android
unter dem soeben erstellten Ordner. 3.ADNDROID_SDK_HOME
Fügen Sie PATH hinzu , und das Android Studio findet AVD unter $ ADNDROID_SDK_HOME / .android / AVDendlich hat es geklappt! :>
quelle
Ein Fix, wenn Ihr Benutzer Nicht-ASCII-Zeichen enthält
Für Personen, die "
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT
" erhalten, kann der Grund dafür sein, dass Ihr Benutzer in Benutzern Nicht-ASCII- Zeichen enthält.Daher sowohl das SDK und .android Ordner mit der AVD - Ordnern Notwendigkeit, in einem anderen Ordner verschoben werden.
Ändern des SDK-Pfads:
Öffnen Sie Android Studio , gehen Sie zur Konfiguration und wählen Sie den SDK-Manager. Ändern Sie den aktuellen Speicherort des Android SDK in "C: \ Android \ Sdk" (oder an einer anderen Stelle, nur nicht im Benutzerordner, der Nicht-ASCII-Zeichen enthält) .
Fügen Sie anschließend die folgenden Systemvariablen hinzu:
Ändern des AVD-Pfads:
Um zu ändern, wo sich der AVD-Ordner befindet (normalerweise in "
C:\Users\<user name>\.android\avd
"), müssen Sie ändern, wo sich der Ordner befindet.android
. Schließen Sie zuerst Android Studio und fügen Sie dann die SystemvariableANDROID_SDK_HOME
mit dem Pfad zu dem neuen Ort hinzu, an dem Sie sein möchten.android
, z. B.C:\Android_SDK_HOME
wie in einem anderen Beispiel verwendet:Nachdem Sie dies hinzugefügt haben, führen Sie Android Studio aus . Dann schließen Sie es wieder. Nun sollte ein Ordner namens aufgerufen
.android
sein.Als nächstes und letztes müssen Sie die
ANDROID_AVD_HOME
Systemvariable festlegen . In diesem Fall ist das inC:\Android_SDK_HOME\.android\avd
Ich hoffe, dass dies das Problem für einige löst. :) :)
quelle
Ich bin auf dieses Problem gestoßen, seit ich React Native seit den frühen Tagen mache. Google hat die Befehlszeilentools abgelehnt und besteht auf Android Studio. Die Lösung für mich war, die Kommandozeilen-Tools zu entfernen
rm -rf /usr/local/Cellar/android-sdk
rm /usr/local/bin/android
Öffnen Sie die AS-Installation von SDK v6 gemäß den Anweisungen unter https://facebook.github.io/react-native/docs/getting-started.html#1-install-android-studio
Erstellen Sie eine neue AVD und sie wird ohne Fehler gestartet
quelle
Die Fehler variieren tatsächlich. Es ist hilfreich, die
./emulator with -verbose
Option auszuführen , da sie die tatsächlichen Fehler anzeigt.quelle