Po wpisaniu cordova run android
w terminalu pojawia się ten błąd:
Waiting for emulator to start...
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value [/Users/username/Library/Android/sdk]!
Dzieje się tak po wyeksportowaniu:
export ANDROID_SDK_ROOT='/Users/username/Library/Android/sdk'
Przed eksportem otrzymałem:
Waiting for emulator to start...
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
Jakieś pomysły, w których się mylę? Jestem pewien, że to jest katalog główny SDK, więc dlaczego pojawia się zepsuta ścieżka systemowa AVD?
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]!
gdy sprawdzam tę ścieżkę->echo $ANDROID_SDK_ROOT /usr/local/share/android-sdk
. Tak więc emulator ulega awarii, mimo że ścieżka jest poprawna.Odpowiedzi:
Może wystąpić kilka różnych problemów podczas przenoszenia AVD lub SDK do innego katalogu, wymiany starego SDK na nowy lub w jakiś sposób uszkodzony SDK.
Poniżej opiszę wszystkie możliwe problemy, które znam i podam kilka sposobów ich rozwiązania.
Niekompletna / uszkodzona struktura pakietu SDK
Te 2 błędy występują, jeśli emulator nie może znaleźć zestawu SDK lub zestaw SDK jest uszkodzony.
Przede wszystkim polecam więc w ogóle usunąć
ANDROID_SDK_ROOT
zmienną. Jest potrzebny tylko wtedy, gdy emulator znajduje się poza katalogiem SDK. Ale ogólnie twój emulator pozostaje w katalogu SDK. I w tym przypadku musi wykryć lokalizację SDK automatycznie . Jeśli tak nie jest, oznacza to, że prawdopodobnie Twój SDK ma niewłaściwe drzewo plików. Wykonaj następujące czynności:Sprawdź, czy katalog SDK ma przynajmniej te 4 katalogi:
emulator
,platforms
,platform-tools
,system-images
. To jest bardzo ważne! Te katalogi muszą być obecne. Jeśli niektórych z nich nie ma, po prostu stwórz puste książki.Idź do
<user_home>/.android/avd/<avd_name>
i otwórzconfig.ini
. Znajdźimage.sysdir.1
nieruchomość. Wskazuje katalog wewnątrz katalogu SDK, który zawiera rzeczywisty obraz systemu. Upewnij się, że ten katalog istnieje i zawiera pliki, takie jakbuild.prop
,system.img
itp. Jeśli tak nie jest, musisz otworzyć Menedżera SDK i pobrać obrazy systemowe, których wymaga AVD (patrz poniżej).Jeśli wszystko jest poprawnie skonfigurowane, kiedy te błędy
ANDROID_SDK_ROOT
muszą zniknąć. Jeśli tak nie jest, możesz teraz spróbować ustawićANDROID_SDK_ROOT
zmienną.Wymagane pakiety i HAXM nie są zainstalowane
Następnym problemem, z którym możesz się spotkać, jest to, że emulator zaczyna się uruchamiać, ale zawiesza się lub natychmiast kończy pracę. To prawdopodobnie oznacza, że nie masz zainstalowanych wszystkich wymaganych pakietów.
Innym możliwym błędem jest:
Tak więc, aby pomyślnie uruchomić dowolny AVD, musisz mieć pewność, że przynajmniej te pakiety są zainstalowane:
I jak wspomniałem wcześniej, na przykład musisz zainstalować obrazy systemowe, których używa AVD
system-images;android-25;google_apis;x86
Polecam również ręcznie zainstalować HAXM w systemie.
Pliki Qcow2 odnoszą się do nieprawidłowych / nieistniejących obrazów podstawowych
Ostatni problem, o którym wspomnę, ma miejsce, gdy próbujesz przenieść AVD lub SDK z jednego komputera lub katalogu na inny. W takim przypadku możesz otrzymać taki błąd:
Istnieją 2 sposoby, aby to naprawić:
Jeśli nie dbasz o dane, które zawiera AVD, po prostu usuń wszystkie
qcow2
pliki z katalogu AVD (np. Z<user_home>/.android/avd/<avd_name>
). W takim przypadku otrzymasz czystą wersję Androida, jak po twardym resecie.Jeśli dane na emulatorze są dla Ciebie ważne, to otwórz wszystkie
qcow2
pliki jeden po drugim za pomocą dowolnego edytora HEX (wolę HxD ), znajdź ścieżkę doimg
pliku podstawowego i zmień go na właściwy wOverwrite
trybie (aby zachować rozmiar pliku). Następnie wybierz ścieżkę i uzyskaj jej długość w postaci szesnastkowej (np2F
.).2F
reprezentuje ukośnik ASCII/
. Umieść go na miejscu13
:PS: Nie jestem pewien, ale prawdopodobnie jest kilka narzędzi, takich jak qemu-img, które pozwalają ustawić inny obraz podstawowy. Cóż, dla mnie łatwiej jest ręcznie edytować plik binarny.
Teraz prawdopodobnie będziesz w stanie pomyślnie uruchomić swoje urządzenie wirtualne z Androidem. Mam nadzieję :)
źródło
hw.cpu.arch
w config.initools/bin/sdkmanager "platform-tools"
. Trudno było znaleźć przyczynę błędu z powodu tego głupiego komunikatu o błędzie („PANIKA: Nie można znaleźć ścieżki systemowej AVD. Proszę zdefiniować ANDROID_SDK_ROOT”), który nieNa komputerze Mac: zainstalowałem zarówno
android-sdk
przy użyciu,brew
jak i Android Studio. W jakiś sposób posiadanie 2 instalacji powodowało ten problem. Kiedy odinstalowałem instalację brew zestawu SDK przy użyciubrew cask uninstall android-sdk
i dodałem następujące zmienne do mojego pliku env. Zadziałało.źródło
android-sdk
podczas instalacji NativeScript. Emulator uruchamia się teraz bezpośrednio z Android Studio, ale nie przez NativeScript (tns z systemem Android)To rozwiąże Twój problem w systemie macOS:
źródło
Usuwanie błędu podczas korzystania z zestawu SDK Homebrew dla systemu Android jako domyślnego zestawu SDK
Jako @EFreak zainstalowałem android-sdk z homebrew (menedżerem pakietów dla komputerów Mac). Musiałem wykonać poniższe czynności, aby naprawić błąd, ponieważ postępowałem zgodnie z samouczkami języka natywnego i napotkałem błąd. Jeśli tak jak ja zamierzasz używać wersji brew zamiast wersji android-sdk, użyj tej odpowiedzi (pozwoli ci to na użycie
tns run android
interfejsu API natywnego skryptów ), a jeśli chcesz, aby domyślny Android Studio Android-sdk, postępował zgodnie z odpowiedzią @ EFreak.Konfigurowanie Android Studio do korzystania z Android SDK Homebrew
Zasadniczo wystarczy zmienić lokalizację Android SDK w Android Studio. Najpierw otwórz projekt w Android Studio. Następnie otwórz Menedżera SDK, klikając ten przycisk.
Następnie, gdy pojawią się domyślne preferencje dla menedżera Android SDK, kliknij edytuj obok lokalizacji Android SDK.
Znajdowanie lokalizacji pakietu Homebrew Android SDK
Następnie musisz faktycznie zaktualizować lokalizację sdk na ekranie konfiguracji komponentów sdk, mój
brew
android-sdk znajdował się tutaj/usr/local/share/android-sdk
. Możesz sprawdzić, gdzie jest zainstalowany twój, uruchamiając,brew cask info android-sdk
a następnie w dolnej części wyniku powinien powiedzieć:Wartość zmiennej
export
edANDROID_SDK_ROOT
(która tutaj jest/usr/local/share/android-sdk
) to lokalizacja zestawu SDK systemu Android.Następnie musisz kliknąć przycisk lokalizacji Android SDK (oznaczony jako 1 na zdjęciu) i wkleić lokalizację Homebrew Android SDK.
Następnie po prostu zakończ kreatora, instalując dowolne pakiety. Na tym etapie musiałem usunąć i odtworzyć emulatory mojego urządzenia, ale po tym wydawało się, że działa świetnie.
Ustawianie zmiennych środowiskowych zestawu Android SDK, aby wskazywały na zestaw SDK systemu Android firmy Homebrew
Możesz również chcieć upewnić się, że jeśli wybierasz się na trasę Homebrew, twój skrypt ustawień profilu ma zmienne środowiskowe
ANDROID_HOME
iANDROID_SDK_ROOT
ustawione na lokalizację Homebrew sdk systemu Android, w przeciwnym razie powyższe nie będzie jeszcze działać. To może się zmienić z umieszczeniem Homebrew jeśli zainstalowany Homebrew przed instalacją Android Studio jak wskazano w tej odpowiedzi przez @Jamie Armor . Można sprawdzić zmienne środowiskowe dla Android SDK są ustawione prawidłowo, uruchamiającecho $ANDROID_HOME
iecho $ANDROID_SDK_ROOT
i sprawdzeniu, że obaj pokazują Homebrew lokalizację Android SDK.Jeśli chcesz zmienić wartości ANDROID_HOME i ANDROID_SDK_ROOT, możesz to zrobić w ustawieniach swojego profilu na komputerze Mac, które prawdopodobnie będą w postaci
~/.bash_profile
„~ / .bashrc” lub „~ / .profile” i zdefiniowane w ten sposób:Musisz zmienić wartości obu eksportów na prawidłowe wartości lokalizacji zestawu SDK systemu Android Homebrew, a następnie zapisz plik. Aby sprawdzić, czy zostały wpisane prawidłowe wartości, należy najpierw zamknąć i otworzyć terminal, który powinien ponownie uruchomić plik i zresetować zmienne środowiskowe, lub można pobrać plik, uruchamiając,
source <profile file name>
gdzie jest edytowany i zapisany plik profilu. Następnie możesz ponownie uruchomićecho $ANDROID_HOME
iecho $ANDROID_SDK_ROOT
sprawdzić, czy mają lokalizację Homebrew android sdk.źródło
tns run android.
To działało dla mnie, zanim uruchomiłem ten skrypt instalacyjny języka natywnego. Scenariusz zepsuł wiele rzeczy -_-Oznacza to, że Twoja ścieżka do narzędzi jest nieprawidłowa. Tak to wygląda na Macu używającym naparu. Uważaj na wersję.
W twoim przypadku wygląda na to, że powinieneś uruchomić to:
źródło
ANDROID_SDK_ROOT
ustawiony.bash_profile
.echo $ANDROID_SDK_ROOT
Podaje nawet poprawną ścieżkę:/usr/local/Cellar/android-sdk/24.4.1_1
używam macOS z HomeBrew.Miałem ten sam problem w moim Windows10,
rozwiązałem mój problem, wykonując poniższe czynności.
otwórz Android Studio
- Narzędzia
- Menedżer SDK
- skopiuj Android SDK Lokalizacja
Android SDK Lokalizacja
ustaw zmienną środowiskową systemu
ANDROID_HOME i zmienną środowiskową systemu ANDROID_SDK_ROOT
źródło
Miałem ten sam problem po aktualizacji emulatora. Problem został rozwiązany po dodaniu zmiennej ANDROID_AVD_HOME
Ważne: w ścieżce nie można używać znaków spoza zestawu ASCII. Na koniec ponownie zainstaluj urządzenia wirtualne lub ręcznie zastąp ścieżkę urządzenia w pliku Configuration settings.ini, który zawiera starą ścieżkę ze znakami spoza zestawu ASCII.
źródło
Uruchomiłem Android Studio na Windows 10, ustawiłem ANDROID_HOME i ANDROID_SDK_ROOT na Zmienne środowiskowe i nadal otrzymałem błąd.
Okazuje się, że zapomniałem pobrać urządzenie.
Po pobraniu „Brakującego obrazu systemu” wszystko działa poprawnie.
źródło
W moim przypadku było zepsute, ponieważ ANDROID_HOME i ANDROID_SDK_ROOT były różne, więc gdy ustawiłem ANDROID_HOME na to samo co ANDROID_SDK_ROOT, zaczęło działać.
źródło
Odpowiedź Olega Cherrsa doprowadziła mnie do rozwiązania. Jak wspomniał
Znalazłem odpowiedni plik emulatora * .ini w katalogu avd. Tam zmodyfikowałem wpis „image.sysdir.1”. Zastąpiłem względną ścieżką bezwzględną (dołącz z przodu ANDROID_SDK_ROOT). Następnie emulator został uruchomiony z wiersza poleceń zgodnie z oczekiwaniami.
źródło
C:\Users\edkol\.android\avd
ale nie widzę żadnego config.ini - czy muszę go dodać? jeśli tak, gdzie mogę to dostać?Brak katalogu Platfoms w / usr / local / share / android-sdk .
Utworzyłem pusty katalog o nazwie platformy, który rozwiązał problem.
źródło
ok, mogę uruchomić Androida z cordova, zmieniłem ANDROID_HOME na,
źródło
Powinieneś dodać emulator AVD. Przejdź do tej lokalizacji:
uruchom Menedżera AVD iw drugiej zakładce (Definicje urządzeń) kliknij przycisk „utwórz AVD”.
źródło
Właśnie dzisiaj napotkałem ten problem i udało mi się go rozwiązać.
Emulator: [140735565005632]: BŁĄD: android / android-emu / android / qt / qt_setup.cpp: 28: Nie znaleziono biblioteki Qt w / Users / your_user_name / Library / Android / sdk / emulator / lib64 / qt / lib
15:08 Emulator: nie można uruchomić '/ Users / your_user_name / Library / Android / sdk / emulator / qemu / darwin-x86_64 / qemu-system-x86_64': nie ma takiego pliku ani katalogu
Rozwiązanie było całkiem proste. Wystarczy zainstalować emulator Androida przez Android Studio => narzędzia => Android => Menedżer SDK => narzędzia SDK => wybierz emulator Androida => Zastosuj
Używam MacBooka Pro na macOS High Sierra i uważam, że twój komputer nie ma nic wspólnego z tym problemem. Emulator nie jest oczywiście instalowany podczas pierwszego uruchomienia menedżera instalacji Android Studio, przynajmniej dla mnie, z Android Studio 3.0.1
Upewnij się również, że masz zdefiniowane ścieżki w pliku .bashrc lub .zshrc w następujący sposób:
źródło
Jestem w systemie Windows 10 i problem polegał na tym, że katalog avd na moim komputerze zawierał znaki spoza ASCII.
Oto co należy zrobić:
Uruchom cmd jako administrator
Uruchom następujące polecenie:
(Spowoduje to utworzenie symbolicznego połączenia między ścieżką ze znakami spoza zestawu ASCII a nową)
W zmiennych środowiskowych dodaj
ANDROID_AVD_HOME
zmienną z wartościąC:\\.android\avd
.źródło
Sprawdź, czy obraz systemu używany przez AVD został pobrany pod
$ANDROID_SDK_ROOT/system-images/
źródło
Miałem ten sam problem, który po ustawieniu następujących zmiennych ścieżki zniknął. Uwaga Ścieżka główna AVD różni się od pozostałych trzech.
źródło
NativeScript
Dla każdego, kto ma problem z uruchomieniem emulatora Androida przez NativeScript, prawdopodobnie zmienne env ANDROID_HOME i ANDROID_SDK_ROOT zostały nadpisane.
Udało mi się stworzyć problem dla siebie, instalując Android Studio, aby wygenerować inny emulator. Zrobiłem to po tym, jak już zainstalowałem zestaw SDK systemu Android za pośrednictwem domowego parzenia.
Jeśli więc podczas instalacji NativeScript wybrałeś instalację Android SDK przez HomeBrew, NativeScript ustawi powyższe w następujący sposób:
Późniejsza instalacja Android Studio nadpisze te wartości jako:
Więc naturalnie występuje konflikt ze studiem Android i instalacją pakietu SDK systemu Android przez NativeScript / Brew. Usunięcie jednego lub drugiego i / lub sprawdzenie, czy zmienna env zawiera poprawną ścieżkę, powinno spowodować uruchomienie emulatora.
źródło
Po pewnym czasie wypróbowanie innych „rozwiązań” Google, jedynych rzeczą, która zadziałała, po ustawieniu zmiennej środowiskowej ANDROID_SDK_ROOT w systemie Windows, a także dodaniu i usunięciu zmiennych ANDROID_HOME i ANDROID_SDK_HOME, była odpowiedź Xerox23 - edycja pliku config.ini AVD do twardego kodu wartość ANDROID_SDK_ROOT do właściwości image.sysdir.1.
Było to przy użyciu Android Studio 3.0.1 i emulatora 26.1.4, uruchamiając urządzenie wirtualne z AVD Manager z poziomu Android Studio.
źródło
W przypadku komputera z systemem Windows: po wypróbowaniu wielu ustawionych ścieżek, usuń ścieżkę itp. Ostatecznie działa zlokalizowanie folderu
C:\Users\johndoe\.android
i usunięcie go. po tym możesz uruchomić swoje Android Studio, poprosi Cię o pobranie i zainstalowanie nowego AVD, a następnie zastąpi i utworzy nowy nowy folder i pliki. To rozwiązuje problem.źródło
Aby rozwiązać ten problem, musiałem zainstalować pakiet z brakującym obrazem systemu za pomocą SDK Manager.exe (w „C: \ Program Files (x86) \ Android \ android-sdk”). Zauważyłem, że w folderze „C: \ Program Files (x86) \ Android \ android-sdk \ system-images” brakuje obrazu systemu, którego potrzebowałem („android-23”).
Po uruchomieniu SDK Manager.exe i zainstalowaniu odpowiednich pakietów mogłem uruchomić emulator w Android Studio.
Oto rozwiązanie, które zadziałało dla mnie:
https://www.embarcadero.com/starthere/xe5/mobdevsetup/android/en/creating_an_android_emulator.html
źródło
Wykonaj poniższe czynności, aby rozwiązać problem
1.
2.
3.
źródło
Rozwiązałem ten problem, usuwając plik
/usr/local/share/android-sdk
, ponieważ ten plik został utworzony, gdy próbowałem z homebrew.Wystarczy ....
źródło
Otwórz swoje studio Android, a następnie skoncentruj się na pasku narzędzi.
Następnie przejdź do narzędzi> Menedżer SDK
Wygląd i zachowanie> Ustawienia systemowe> Android SDK
Teraz na karcie skopiuj lokalizację Android SDK stąd Lokalizacja Android SDK
następnie przejdź do zmiennych środowiskowych, a następnie ustaw ścieżkę wraz z tymi zmiennymi
Zmienne środowiska
źródło
źródło
ANDROID_SDK_HOME jest wskaźnikiem do katalogu głównego twojego pliku „.android”, który jest domyślnie tworzony w „C: \ Users \ name \ .android”, a NIE do katalogu głównego folderu SDK. Następnie: - Przypisz ANDROID_SDK_HOME do folderu głównego SDK nie zadziała. - Jeśli ścieżka do pliku „.android” zawiera znaki inne niż ASCII, nie będzie działać. - Folder AVD musi znajdować się w bieżącym pliku „.android”.
Więc odpowiedź jest taka:
Twoje zdrowie.
źródło
中国 的 小 伙伴 注意! 原因 是 avd 目录 不能 包含 中文 Wypróbowałem wszystkie powyższe metody i nadal otrzymuję błąd i zastanawiam się, czy to dlatego, że mój katalog avd zawiera chińskie znaki. więc zmieniam domyślny katalog avd w następujących krokach i zadziałało. 1. utwórz folder, którego ścieżka nie zawiera znaków spoza ASCII 2. skopiuj lub wytnij domyślny folder avd
$HOME/.android
poniżej właśnie utworzonego folderu 3. dodaj PATHADNDROID_SDK_HOME
, a Android Studio znajdzie avd poniżej $ ADNDROID_SDK_HOME / .android / avdw końcu się udało! :>
źródło
Poprawka, jeśli użytkownik zawiera znaki spoza zestawu ASCII
W przypadku osób otrzymujących „
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT
” może to być spowodowane tym, że użytkownik w grupie użytkowników zawiera znaki spoza zestawu ASCII .Dlatego zarówno SDK, jak i folder .android z plikiem AVD folderem należy przenieść do innego folderu.
Zmiana ścieżki SDK:
Otwórz Android Studio , przejdź do konfiguracji i wybierz Menedżera SDK. Zmień bieżącą lokalizację Android SDK na np. „C: \ Android \ Sdk” (lub gdzieś indziej, ale nie w folderze użytkownika zawierającym znaki spoza zestawu ASCII) .
Następnie dodaj następujące zmienne systemowe:
Zmiana ścieżki AVD:
Aby zmienić lokalizację folderu AVD (zwykle umieszczonego w „
C:\Users\<user name>\.android\avd
”), musisz zmienić miejsce, w którym.android
jest umieszczony. Najpierw zamknij Android Studio , a następnie dodaj zmienną systemowąANDROID_SDK_HOME
ze ścieżką do nowego miejsca, w którym chcesz.android
się znaleźć, np.C:\Android_SDK_HOME
Jak w innym przykładzie:Po dodaniu tego, uruchom Android Studio . Następnie zamknij ponownie. Teraz
.android
powinien pojawić się folder o nazwie .Następną i ostatnią rzeczą, którą musisz zrobić, jest ustawienie
ANDROID_AVD_HOME
zmiennej systemowej. W tym przypadku będzie toC:\Android_SDK_HOME\.android\avd
Mam nadzieję, że dla niektórych rozwiązuje to problem. :)
źródło
Natknąłem się na ten problem, odkąd korzystałem z React Native od samego początku. Google wycofał narzędzia wiersza poleceń i nalega na Android Studio. Rozwiązaniem dla mnie było usunięcie narzędzi wiersza poleceń
rm -rf /usr/local/Cellar/android-sdk
rm /usr/local/bin/android
otwórz AS zainstaluj sdk v6 zgodnie z instrukcją https://facebook.github.io/react-native/docs/getting-started.html#1-install-android-studio
utwórz nowe AVD i uruchomi się bez błędów
źródło
Błędy w rzeczywistości są różne. Pomocne jest uruchomienie
./emulator with -verbose
opcji, ponieważ pokaże rzeczywiste błędy.źródło