PANIC: Defekter AVD-Systempfad. Überprüfen Sie Ihren ANDROID_SDK_ROOT-Wert


151

Nach dem Eingeben cordova run androiddes 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?


Schaffen Sie es, den Emulator mit AVD Manager zu starten? (
Befindet

4
Dieses Problem tritt auch in Visual Studio beim Erstellen einer plattformübergreifenden App auf. Mein Fehlertext ist1>PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT 1>Emulator Nexus_5X_API_23 cannot be started.
RBT

Ich habe gerade den Android SDK-Manager geöffnet und alles installiert, was dort war (Tools, verschiedene API-Ebenen, Extras). Buchstäblich! Es hat mein Problem gelöst. Allerdings hatte ich danach weitere Probleme, die mit der HAXM-Technologie von Intel zusammenhängen, die für die Ausführung von Android-Emulatoren erforderlich ist. Sie müssen anders gelöst werden.
RBT


2
Ich kann die AVD über Android Studio starten. Ich erhalte diese Fehlermeldung, wenn ich versuche, über die Befehlszeile zu starten. Dort Fehler 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.
Mike S.

Antworten:


163

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.

Natürlich gehe ich davon aus, dass Sie eine AVD erstellt haben und diese sich in befindet C:\Users\<user_name>\.android\avd (Windows) oder ~/.android/avd(Linux / MacOS) befindet.

Wenn Sie .androidan einen anderen Ort gezogen sind, setzen Sie die ANDROID_SDK_HOMEUmgebungsvariable auf den Pfad des übergeordneten Verzeichnisses, in dem sich Ihr Verzeichnis befindet, .androidund stellen Sie sicher, dass der AVD-Manager vorhanden ist Ihr virtuelles Gerät erfolgreich gefunden hat.

Überprüfen Sie auch die Pfade <user_home>/.android/avd/<avd_name>.ini


Unvollständige / beschädigte SDK-Struktur

PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value

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_ROOTVariable ü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:

  1. Ü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.

  2. Gehe zu <user_home>/.android/avd/<avd_name>und öffne config.ini. Finden Sie die image.sysdir.1Eigenschaft. 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 wie build.prop, system.imgetc. 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_ROOTbehoben sein. Wenn dies nicht der Fall ist, können Sie jetzt versuchen, eine ANDROID_SDK_ROOTVariable 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:

Eine ADB-Binärdatei konnte nicht automatisch erkannt werden. Einige Emulatorfunktionen funktionieren erst, wenn auf der Seite mit den erweiterten Einstellungen ein benutzerdefinierter Pfad zu ADB hinzugefügt wird.

Um eine AVD erfolgreich zu starten, müssen Sie sicherstellen, dass mindestens diese Pakete installiert sind:

emulator (Android Emulator)
platform-tools (Android SDK Platform-Tools)
tools (Android SDK Tools)

Und wie bereits erwähnt, müssen Sie beispielsweise System-Images installieren, die Ihre AVD verwendet system-images;android-25;google_apis;x86

Beachten Sie, dass die neuesten Versionen des SDK nicht eigenständig sind SDK Manager.exe. Stattdessen müssen Sie entweder Android Studio verwenden oder tools\bin\sdkmanager.bat(Linux / MacOS wahrscheinlich habensh Dateien).

Um alle verfügbaren Pakete aufzulisten, verwenden Sie sdkmanager --listodersdkmanager --list --verbose

Um Pakete zu installieren, verwenden Sie sdkmanager <package1> <package2> ...

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:

qemu-system-i386.exe: -drive if = none, Overlap-Check = none, Cache = unsicher, Index = 0, ID = System, Datei =C:\Users\<old_user_name>\.android\avd\<avd_name> .

avd \ system.img.qcow2, schreibgeschützt: Sicherungsdatei konnte nicht geöffnet werden: ' <old_sdk_dir>\system-images\android-22\google_apis\x86\system.img' konnte nicht geöffnet werden : Ungültiges Argument

Es gibt zwei Möglichkeiten, dies zu beheben:

  1. Wenn Sie sich nicht für die Daten interessieren, die die AVD enthält, löschen Sie einfach alle qcow2Dateien 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.

  2. Wenn Ihnen die Daten auf dem Emulator wichtig sind, öffnen Sie alle qcow2Dateien nacheinander mit einem beliebigen HEX-Editor (ich bevorzuge HxD ), suchen Sie den Pfad einer Basisdatei imgund ändern Sie ihn im OverwriteModus 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 (z 2F. B. ). 2Frepräsentiert den ASCII-Schrägstrich /. Setzen Sie es in Position 13:

Bearbeiten Sie Android qcow2-Dateien mit dem HxD HEX-Editor

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 :)


Ein weiterer Grund kann hw.cpu.archin der config.ini fehlen
daserge

2
Ich habe alle Anweisungen befolgt und bekomme immer noch einen fehlerhaften AVD-Systempfad.
rollt

Genial. Gut gemacht mit den qcow Basisdateien! Kennen Sie eine allgemeinere Methode zum erneuten Basieren der qcow-Dateien? Ich möchte meine AVD mit mehreren Personen teilen ...
Amit Moran

@daserge al meine '.ini'-Dateien haben ein seltsames Format (es fehlen Zeilenumbrüche nach jedem Parameter), ist das normal / in Ordnung?
J3STER

1
Danke, in meinem Fall fehlte der Plattform-Tools-Ordner, also habe ich ihn mit dem Befehl installiert tools/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 ...
Taufe

128

Auf Mac: Ich hatte sowohl android-sdkmit brewals auch mit Android Studio installiert . Irgendwie verursachten 2 Installationen dieses Problem. Als ich meine Brew-Installation des SDK mit deinstallierte brew cask uninstall android-sdkund die folgenden Vars zu meiner Umgebung hinzufügte. Es funktionierte.

export ANDROID_HOME=/Users/<Username>/Library/Android/sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME

18
Ich hatte zuvor das Android SDK mit Brew installiert, während ich einem Nativescript-Tutorial folgte. Nach der Installation von Android Studio stellte ich fest, dass der Emulator nicht gestartet werden konnte. Ihr Fix hat mein Problem gelöst. Danke dir!
Cocoanut

2
Das hat auch bei mir funktioniert. Ich hatte auch android-sdkwährend der NativeScript-Installation installiert. Der Emulator wird jetzt direkt von Android Studio gestartet, aber nicht über NativeScript (tns run android)
Mudlabs

3
Es hat mein Problem gelöst, aber ohne die Android-SDK-Version von Brew zu löschen.
Mrisek

1
Die Befehlszeilentools sind veraltet. Der beste Schritt für die Zukunft ist, AS ordnungsgemäß zu installieren und das
Harry Moreno

1
Nach langem Suchen löste dies endlich unser Problem. Ich danke dir sehr!!!
user3575337

27

Dies wird Ihr Problem in macOS lösen:

pico ~/.bash_profile

export ANDROID_HOME=/Users/$USER/Library/Android/sdk
export ANDROID_SDK_HOME=/Users/$USER/Library/Android/sdk
export ANDROID_AVD_HOME=/Users/$USER/.android/avd
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_AVD_HOME

source ~/.bash_profile

4
Nachdem viele, viele Dinge versucht wurden, war dies die einzige Arbeit, vielen Dank: D
Alan Cordova

Funktioniert perfekt Danke.
Herman Demsong

@SundayOkoi es geht in Ihr Home-Verzeichnis
1800 INFORMATION

Ich auch. Dieser arbeitet für mich. Obwohl ich kleinere Änderungen an diesem vorgenommen habe.
Edper

15

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 verwendentns 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.

Android SDK Manager Button Position

Wenn die Standardeinstellungen für den Android SDK-Manager angezeigt werden, müssen Sie neben dem Speicherort des Android SDK auf Bearbeiten klicken.

Geben Sie hier die Bildbeschreibung ein

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 brewAndroid-SDK befand /usr/local/share/android-sdk. Sie können herausfinden, wo Ihre installiert ist, indem Sie sie brew cask info android-sdkam unteren Rand der Ausgabe ausführen und sagen:

You can control android sdk packages via the sdkmanager command.
You may want to add to your profile:

  'export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"'

Der Wert der exported- ANDROID_SDK_ROOTVariablen (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.

Geben Sie hier die Bildbeschreibung ein

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_HOMEund ANDROID_SDK_ROOTUmgebungsvariablen 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 Sie echo $ANDROID_HOMEund 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:

export ANDROID_HOME="/usr/local/share/android-sdk"
export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"

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ühren echo $ANDROID_HOMEund echo $ANDROID_SDK_ROOTüberprüfen, ob sie den Homebrew-Android-SDK-Speicherort haben.


3
Du Held! In den NativeScript-Dokumenten wird dieser Aspekt völlig vernachlässigt.
Jamie Birch

Ich glaube nicht, dass Sie die Brew-Installation benötigen, um ausgeführt werden zu können. tns run android.Dies hat bei mir funktioniert, bevor ich das Nativescript-Setup-Skript ausgeführt habe. Das Drehbuch hat viele Dinge kaputt gemacht -_-
Felipe Centeno

1
@FelipeCenteno Ja, dafür brauchst du kein Gebräu. Dies ist genau so, wie Sie es tun, wenn Sie bereits alle Android SDK mit Brew installiert haben. Sie können die Antwort von EFreaks verwenden, wenn Sie nur das Standard-SDK von Android Studio verwenden.
John

14

Dies bedeutet, dass Ihr Pfad zu Werkzeugen falsch ist. So sieht es auf einem Mac mit Brew aus. Achten Sie auf die Version.

export ANDROID_SDK_ROOT='/usr/local/Cellar/android-sdk/24.4.1_1'

In Ihrem Fall sollten Sie Folgendes ausführen:

export ANDROID_SDK_ROOT='/Users/username/Library/Android/sdk'

3
Fehler ist immer noch der gleiche. Außerdem habe ich doppelt geprüft und ANDROID_SDK_ROOTist eingestellt .bash_profile. Gibt sogar echo $ANDROID_SDK_ROOTden richtigen Pfad an: /usr/local/Cellar/android-sdk/24.4.1_1Ich verwende macOS mit HomeBrew.
Shivam Maheshwari

12

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


Ich habe das gleiche Problem. Vielen Dank.
Jason Ching

Ich hatte das gleiche Problem und wurde mit diesen Anweisungen gelöst.
SuKu

8

Ich hatte das gleiche Problem nach dem Emulator-Update. Das Problem wurde nach dem Hinzufügen der Variablen ANDROID_AVD_HOME behoben Geben Sie hier die Bildbeschreibung ein

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.

C:\Users\<user_name>\.android\avd\<avd_name>

Ja, Nicht-ASCII-Zeichen sind wichtig. Nach dem Entfernen dieser Zeichen funktioniert alles einwandfrei. So entfernen Sie superuser.com/questions/1355431/…
Alex Z

8

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.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Nach dem Herunterladen des "Fehlenden Systemabbilds" funktioniert alles einwandfrei.


2
mein Gott. Ich habe so viele Umgebungsvariablen festgelegt, die nicht festgelegt werden mussten. Ich musste nur etwas herunterladen. Vielen Dank.
Andy

7

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.


1
Ja, danke, das funktioniert für mich, und wie @Blagojce sagte, fügte ich hinzu, dass C: \ Benutzer \% Benutzername% \ AppData \ Local \ Android \ sdk \ in beiden Variablen ANDROID_HOME und ANDROID_SDK_ROOT
Abdelhadi Abdo

Das hat es auch für mich behoben. Höchstwahrscheinlich habe ich vor der Installation von Visual Studio / Xamarin ein Android SDK installiert.
23.

6

Die Antwort von Oleg Cherrs führte mich zu einer Lösung. Wie er schon sagte

Gehen Sie zu /.android/avd/ und öffnen Sie die Datei config.ini. Suchen Sie die Eigenschaft> image.sysdir.1. Es zeigt auf das Verzeichnis im SDK, das System> Images enthält. Stellen Sie sicher, dass dieses Verzeichnis vorhanden ist und Dateien wie build.prop,> system.img usw. enthält. Wenn dies nicht der Fall ist, müssen Sie den SDK-Manager öffnen und> Systemabbilder herunterladen, die Ihre AVD benötigt (siehe unten).

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.


Funktionierte auch für mich, nur Lösung, die unter WIN10 x64 funktioniert, wobei alle PATH-Variablen korrekt eingestellt sind. (Zu Ihrer Information: Ich habe den absoluten Pfad von ANDROID_SDK_ROOT anstelle der Variablen selbst angehängt.)
Max Methot

Ich bin zu gegangen, C:\Users\edkol\.android\avdsehe aber keine config.ini - muss ich eine hinzufügen? Wenn ja, wo kann ich es bekommen?
Ekolis

6
  • 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.


5

ok ich kann android von cordova ausführen, ich habe ANDROID_HOME in geändert,

export ANDROID_HOME=/usr/local/opt/android-sdk

5

Sie sollten AVD Emulator hinzufügen. Gehen Sie zu diesem Ort:

C:\Users\%username%\AppData\Local\Android\sdk\

Starten Sie den AVD Manager und klicken Sie auf der zweiten Registerkarte (Gerätedefinitionen) auf die Schaltfläche "createAVD".


3

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:

export ANDROID_HOME=/Users/your_user_name/Library/Android/sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

3

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:

mklink /D C:\\.android C:\\Users\\-yourUsername-\\.android

(Dadurch wird eine symbolische Verbindung zwischen dem Pfad mit Nicht-ASCII-Zeichen und dem neuen hergestellt.)

Fügen Sie in Umgebungsvariablen ANDROID_AVD_HOMEVariablen mit Wert hinzu C:\\.android\avd.


2

Überprüfen Sie, ob das von Ihrer AVD verwendete System-Image unter heruntergeladen wurde $ANDROID_SDK_ROOT/system-images/


2

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.

Geben Sie hier die Bildbeschreibung ein


2

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:

ANDROID_HOME=/usr/local/share/android-sdk
ANDROID_SDK_ROOT=/usr/local/share/android-sdk

Bei der anschließenden Installation von Android Studio werden diese Werte wie folgt überschrieben:

ANDROID_HOME=/Users/[User]/Library/Android/sdk
ANDROID_SDK_ROOT=/Users/[User]/Library/Android/sdk

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.


1

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.


1

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\.androidund 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.


Hallo, guter Rat. Das müssen wir alle mit älteren Installationen tun. Nachdem Sie anderen Rezepten gefolgt sind und versagt haben, reicht Ihre Antwort aus. Vielen Dank!
lm2a

1

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


1

Befolgen Sie die folgenden Schritte, um Ihr Problem zu lösen

1.

export ANDROID_HOME=/usr/local/Cellar/android-sdk/24.4.1
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/bin

2.

Go to android studio preferences => Build, Execution, Deployment => Build Tools => Gradle => Android studio  => Enable embedded Maven Repository should be selected.

3.

Go to android studio preferences => Appearance & Behavior => System Settings => Android SDK => Go to SDK Tools and select Android Emulator

1

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.

export ANDROID_HOME=/Users/<username>/Library/Android/sdk

export ANDROID_SDK_ROOT=/Users/<username>/Library/Android/sdk

export ANDROID_AVD_HOME=/Users/<username>/.android/avd

das genügt ....


1

Ö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

  1. ANDROID_HOME
  2. ANDROID_SDK_ROOT

Umgebungsvariablen


1
  1. Löschen Sie früh erstellte Geräte.
  2. Schließen Sie Android Studio.
  3. Öffnen Sie: Systemsteuerung -> System & Sicherheit -> System -> Erweiterte Systemeinstellungen -> Umgebungsvariablen.
  4. Erstellen Sie die neue Variable "ANDROID_SDK_HOME" und legen Sie einen neuen Pfad fest (in meinem Fall war es F: \ Coding2019 \ Android \ AVDdevices). Drücken Sie 'OK'.
  5. Öffnen Sie Android Studio.
  6. Neues Gerät erstellen. Klicken Sie nach dem Erstellen im Dropdown-Menü auf "Details anzeigen", um den neuen Pfad der neuen AVD anzuzeigen.

1

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:

  • Ändern Sie Ihren SDK-Ordner bei Bedarf wie in den vorherigen Antworten (innerhalb des Projekts unter Android Studio).
  • Schließen Sie Android Studio.
  • Systemsteuerung> System> Erweiterte Systemeinstellungen> Umgebungsvariablen.
  • Fügen Sie eine neue Benutzervariable hinzu: Variablenname: ANDROID_SDK_HOME Variablenwert: C: \ src (oder ein Ordner, der keine Probleme mit Nicht-ASCII-Zeichen oder SO-Berechtigungen hat) DER WEG, DEN SIE EINGEBEN, KANN KEIN ROOT-ORDNER IHRES ANDROID-SDK SEIN !! !
  • Öffnen Sie Android Studio. Stellen Sie sicher, dass an Ihrem neuen Speicherort ein Ordner mit dem Namen ".android" erstellt wurde.
  • Löschen Sie das von Ihnen erstellte Android Virtual Device (AVD).
  • Schließen und öffnen Sie Android Studio.
  • Erstellen Sie eine neue AVD und sehen Sie, wie die Magie geschieht.

Prost.


1

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/.androidunter dem soeben erstellten Ordner. 3. ADNDROID_SDK_HOMEFügen Sie PATH hinzu , und das Android Studio findet AVD unter $ ADNDROID_SDK_HOME / .android / AVD

endlich hat es geklappt! :>


1

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:

ANDROID_SDK_ROOT C:\Android\Sdk
ANDROID_HOME C:\Android\Sdk

Ä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 Systemvariable ANDROID_SDK_HOMEmit dem Pfad zu dem neuen Ort hinzu, an dem Sie sein möchten .android, z. B. C:\Android_SDK_HOMEwie in einem anderen Beispiel verwendet:

ANDROID_SDK_HOME C:\Android_SDK_HOME

Nachdem Sie dies hinzugefügt haben, führen Sie Android Studio aus . Dann schließen Sie es wieder. Nun sollte ein Ordner namens aufgerufen .androidsein.

Als nächstes und letztes müssen Sie die ANDROID_AVD_HOMESystemvariable festlegen . In diesem Fall ist das inC:\Android_SDK_HOME\.android\avd

ANDROID_AVD_HOME C:\Android_SDK_HOME\.android\avd

Ich hoffe, dass dies das Problem für einige löst. :) :)


Bro, vielen Dank. Ich habe gerade dieses Problem gegoogelt und bin über Ihren neuen Beitrag gekommen und es hat funktioniert!
JangoCG

0

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


0

Die Fehler variieren tatsächlich. Es ist hilfreich, die ./emulator with -verboseOption auszuführen , da sie die tatsächlichen Fehler anzeigt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.