Właśnie skończyłem instalować Android Studio i próbować go przetestować. Kiedy próbuję uruchomić aplikację, pojawia się następujący komunikat o błędzie
emulator: ERROR: This AVD's configuration is missing a kernel file!!
emulator: ERROR: ANDROID_SDK_ROOT is undefined
Czy ktoś wie, jak to naprawić ????
android
android-studio
android-emulator
Ted pottel
źródło
źródło
Odpowiedzi:
Możliwe, że naprawdę nie masz obrazów systemu. Sprawdź dwukrotnie, czy
$ANDROID_HOME/system-images/android-<YOUR DESIRED API>/armeabi-v7a
istnieje i nie jest pusty. Jeśli naprawdę ich brakuje - zainstaluj / zainstaluj ponownie za pomocą menedżera SDK.źródło
$ANDROID_HOME/system-images/android-<YOUR DESIRED API>/armeabi-v7a
, 2: jak ponownie zainstalować urządzenie wirtualne za pomocą menedżera SDKIdź do Narzędzia | Android | Menedżer AVD
Kliknij strzałkę pod kolumną Działania po prawej stronie (gdzie znajduje się komunikat o błędzie)
Wybierz Edytuj
Pozostaw domyślny wybór (dla mnie MNC x86 Android M)
Kliknij Następny
Kliknij Finish
Zapisuje AVD, a błąd zniknął z ostatniej kolumny. Emulator działa teraz dobrze.
źródło
Właśnie to naprawiłem. Mam nadzieję, że to pomoże innym. (Problem jak w Android Studio v2) Ten problem dotyczy emulatorów ramion. W tym przykładzie używam armeabi-v7a API 16
Poprawka to trzy kroki:
Krok 1: Otwórz menedżera sdk i upewnij się, że masz zainstalowany obraz systemu ARM EABI v7a
Krok 2. Jest to oczywisty przypadek dodania lokalizacji sdk do zmiennych systemowych.
Kliknij prawym przyciskiem myszy ikonę „Ten komputer” na pulpicie, a następnie
Properties -> Advanced system settings -> Environment Variables...
Następnie dodaj ścieżkę do sdk jako nową do sekcji zmiennych systemowych, używając nazwy zmiennejANDROID_SDK_ROOT
.Krok 3. Uruchom ponownie Android Studio, aby zarejestrować zmiany. Po naprawieniu
ANDROID_SDK_ROOT
nieokreślonego problemu emulator nadal nie może znaleźć plików jądra, mimo że widzi, że menedżer SDK zainstalował go wpath-to-sdk\sdk\system-images\android-16\default\armeabi-v7a\kernel-qemu
Powodem jest pomyłka między lokalizacją, w której menedżer SDK instaluje plik jądra, a lokalizacją, w której szuka go emulator.
Jeśli otworzysz plik config.ini (Android Studio -> AVD Mananger -> „Pokaż na dysku”) dla swojego emulatora, zobaczysz następujący wiersz:
image.sysdir.1=add-ons\addon-google_apis-google-16\images\armeabi-v7a\
(tj. \ path-to-sdk \ add-ons \ addon -....)
Zamiast zmieniać tę wartość w pliku config.ini, skopiowałem
path-to-sdk\sdk\system-images\android-16\default\armeabi-v7a\kernel-qemu
(plik jądra z folderu zainstalowanego menedżera sdk)
do
\path-to-sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a\
I to był brakujący plik jądra. Możesz uruchomić emulator. (Będziesz musiał zamknąć Android Studio i ponownie otworzyć) Daj emulatorowi trochę czasu, ponieważ jest 10 razy wolniejszy w porównaniu do x86. (Moje rozpoczęło się około 5 minut)
źródło
image.sysdir.1=system-images\android-16\default\armeabi-v7a
image.sysdir.1
Konieczna aktualizacja do `system-images \ android-15 \ google_apis \ armeabi-v7a`Naprawiłem to, uruchamiając „C: \ Program Files \ Android \ android-sdk \ AVD Manager.exe” i naprawiając moje zepsute urządzenie.
źródło
Krótka odpowiedź : spróbuj stworzyć ten sam obraz, korzystając ze starej szkoły
<AndroidSDK>\AVD Manager.exe
.Pracując w Android Studio, uruchamiając wszystkie zintegrowane narzędzia, stało się dla mnie naturalne, że nie używam starych menedżerów (AVD / SDK).
W moim przypadku miałem ten problem, gdy użyłem nowego (zintegrowanego) Menedżera AVD do tworzenia urządzeń ze starymi obrazami systemu (API 11 i poniżej, jak testowałem).
Kiedy próbowałem użyć starego narzędzia AVD Manager (znajdującego się w
<AndroidSDK>\AVD Manager.exe
) do tworzenia tych starych obrazów urządzeń, odniosłem sukces.źródło
~/Library/Android/sdk/tools/android avd
.Hej, właśnie napotkałeś ten sam problem, co ty, trzeci link w Google doprowadził mnie do tego fragmentu kodu, który generuje błąd,
do którego osoba napisała:
"/ * Jeśli nazwa obrazu jądra kończy się na" -armv7 ", automatycznie zmień typ procesora *. Jest to kiepskie podejście do zarządzania * konfiguracją, ale powinno pozwolić nam ominąć budowanie obrazów systemu ARMv7 * z preopt pass dex "
Więc wróciłem i pobrałem wersję Intel Atom dla x86 dla mojego pożądanego poziomu API i mogłem uruchomić emulator bez błędu. Mam nadzieję, że to też pomoże ...
źródło
Zwykle błąd wystąpi z powodu nieodpowiedniego emulatora AVD dla typu aplikacji, dla której tworzysz. Na przykład, jeśli tworzysz aplikację dla urządzenia do noszenia, ale próbujesz użyć emulatora telefonu, aby go uruchomić.
źródło
Miałem ten sam błąd. Rozwiązaniem dla mnie była zmiana ścieżki ANDROID_HOME . Najpierw przyjrzałem się narzędziom- > android-> sdk manager z Android Studio. W tym oknie możemy zobaczyć ścieżkę, w której Android Studio szuka SDK: image
Następnie otworzyłem powłokę Windows CMD, wykonałem:
ale ścieżka była inna niż w KONFIGURACJI ANDROID STUDIO z pierwszego kroku.
Rozwiązaniem była zmiana środowiska użytkownika, ANDROID_HOME, na jeden z pierwszych kroków: obraz
W końcu zamknąłem powłokę cmd i otworzyłem kolejną powłokę cmd do wykonania:
ścieżka została zaktualizowana i mogłem doskonale uruchomić emulator.
źródło
W moim przypadku (Windows 10) powodem było to, że odważyłem się rozpakować pakiet SDK Androida do folderu innego niż domyślny. Kiedy przeniosłem go na domyślny c: / Users / [nazwa użytkownika] / AppData / Local / Android / Sdk i zmieniłem ścieżki w Android Studio i zmiennych systemowych, zaczęło działać.
źródło
U mnie zadziałało i jestem na Windows 10 i Android Studio 2.3.3
źródło
źródło
Typowe podejście do rozwiązania tego problemu.
1.Sprawdź swojego menedżera SDK, uruchamiając ze swojego studia Android i stojąc folder alons sdk, wykonując
./android.sh
, aby znaleźć uszkodzone pakietySpróbuj zainstalować obrazy emulatora systemu z obsługą Google API niż Intel. Tak jak rozwiązałem swój problem, uruchamiając inny obraz systemu.
Eksperyment z Virtulaization opartym na KVM zaproponowanym przez Google dla Linuksa
źródło