2012-11-15 14 views
6

Uzyskiwanie wyjątku NullPointerException podczas próby uruchomienia pakietu avd. Właśnie pobrałem pakiet ADT dla Maca i uruchomiłem Android AVD. Czy ktoś wie, dlaczego to się nie udaje?Nie można uruchomić Menedżera urządzeń wirtualnych Android "android avd" pobierającego NullPointerException

$ ./android avd 
java.lang.NullPointerException 
    at com.android.sdklib.internal.avd.AvdInfo.getDeviceName(AvdInfo.java:158) 
    at com.android.sdkuilib.internal.repository.ui.DeviceManagerPage.fillDevices(DeviceManagerPage.java:497) 
    at com.android.sdkuilib.internal.repository.ui.DeviceManagerPage.fillTable(DeviceManagerPage.java:357) 
    at com.android.sdkuilib.internal.repository.ui.DeviceManagerPage.createContents(DeviceManagerPage.java:259) 
    at com.android.sdkuilib.internal.repository.ui.DeviceManagerPage.<init>(DeviceManagerPage.java:130) 
    at com.android.sdkuilib.internal.repository.ui.AvdManagerWindowImpl1.createDeviceTab(AvdManagerWindowImpl1.java:210) 
    at com.android.sdkuilib.internal.repository.ui.AvdManagerWindowImpl1.createContents(AvdManagerWindowImpl1.java:193) 
    at com.android.sdkuilib.internal.repository.ui.AvdManagerWindowImpl1.open(AvdManagerWindowImpl1.java:133) 
    at com.android.sdkuilib.repository.AvdManagerWindow.open(AvdManagerWindow.java:94) 
    at com.android.sdkmanager.Main.showAvdManagerWindow(Main.java:369) 
    at com.android.sdkmanager.Main.doAction(Main.java:311) 
    at com.android.sdkmanager.Main.run(Main.java:119) 
    at com.android.sdkmanager.Main.main(Main.java:102) 
+0

Czy pobrać platformy narzędzia i platformy? Uruchom './Android' dla menedżera SDK, aby je pobrać. –

+0

Tak. Mam te zainstalowane. Próbuję usunąć i zainstalować ponownie. –

+0

Nawet po usunięciu narzędzi platformy i platformy otrzymuję ten sam NPE. –

Odpowiedz

4

miałem dokładnie ten sam problem w nocy i wreszcie znaleźć sposoby, aby uzyskać emulatora do rozpoczęcia pracy:

Lista dostępnych cele z: android lista skierowany

android tworzyć AVD -n {nazwa} -t {targetId} (dla {nazwa} wybrałem Tablet - wierzyć jego arbitralne)

== Nadal nie działa, ale potem odkryłem =>

Kliknąłem prawym przyciskiem myszy nad plikiem manifest.xml, wybraną opcją Uruchom jako -> Uruchom konfiguracje -> na zakładce Cel i wybrane AVD utworzone.

(od Eclipse launch error when trying to run an Android app)

+0

Dzięki. Zrobiłem "cele listy androidów", a następnie "android stwórz avd -n AndySim -t 2". Emulator działa. –

2

miałem ten sam problem po przeniesieniu wokół mojego Android SDK i zmienia katalog bazowy, ustawiając zmienną środowiskową ANDROID_SDK_HOME. Okazuje się, że wewnątrz pliku znajduje się ścieżka (ścieżka poniżej ANDROID_SDK_HOME).

.android/AVD/nameofphone.ini

„droga =” ustawienie w tym pliku jest absolutna, więc jeśli poruszać plików nie będzie już prawidłowa. Zmiana tego na poprawną absolutną ścieżkę do pliku avd w tym samym katalogu naprawiła mój problem.

+0

Miałem dokładnie problem, miałem zamiar przeinstalować Windows 7, uratowałeś mój dzień. W moim przypadku, ścieżka avd w moim folderze User, miałem trochę starszych plików AVI AVI, które są kierowane do wersji Android, które nie zostały zainstalowane. – coocood

+0

Z jakiegoś powodu nie miałem nameofphone.avd dla jednego z avds, tylko plik .ini. Właśnie usunąłem ten .ini. – kaspartus

1

Wygląda na to, że ten problem został naprawiony w wersji 21.0.1 podglądzie 1 narzędzi SDK.

http://code.google.com/p/android/issues/detail?id=40400

Najbardziej prawdopodobną przyczyną jest nieprawidłowy plik właściwości, które nie mogą być przetwarzane przez menedżera AVD. Aktualizowanie kanału podglądu narzędzi SDK powinno to naprawić, lub możesz poczekać na oficjalną wersję.

Po aktualizacji Menedżer AVD uruchomił się i pokazał na mojej liście nieprawidłowy AVD, który udało mi się usunąć.

+0

Wskazujesz na mój problem, ale 21.0.1 nie naprawiaj mojego problemu. Rozwiązanie @ mikeplate pomaga mi. – kaspartus

13

Następujące pracował dla mnie:

Z linii poleceń I przejściu do folderu tools folderu Android SDK. Stamtąd Pobiegłem polecenia:

android list avd 

Ten wyprodukowany listę wszystkich moich urządzeń wirtualnych, ale jeden z nich pokazał się być problemem.Dokładna moc była następująca:

The following Android Virtual Devices could not be loaded: 
    Name: Tab31 
    Path: /Users/User/.android/avd/Tab31.avd 
    Error: Failed to parse properties from /Users/User/.android/avd/Tab31.avd/config.iniere 

Jeśli widzisz ten następnie zanotuj „Nazwa” własności („Tab31” W mojej sytuacji) i uruchom następujące polecenie (oczywiście zastępując nazwę mojego AVD z Ciebie):

android delete avd -n Tab31 

Później mogłem bez problemu uruchomić menedżera AVD.

+0

To działa! Dzięki. –

+0

Próbowałem "android listy avd", otrzymuję "wyjątek w wątku" główny "java.lang.NullPointerException" na java.io.File. (File.java:277) na com.android.sdklib.internal.avd.AvdManager.parseAvdInfo (AvdManager.java:1616) ..... – MSIslam

+0

Może to pomóc: http://stackoverflow.com/questions/ 30345134/nullpointerexcepton-in-android-studio-plugin-android-wsparcie – BreakingBrad

2

Jeśli nic z powyższych rozwiązań pracy, usunięcie z .android folder w katalogu domowym będzie działać

2

to zwykle dlatego, że stworzenie nowego AVD zawiodły lub configs dla jednego ze swoich AVDs jest uszkodzony.

Przejdź do ~/.android/AVD

Sprawdź lista AVDs. Jeśli uważasz, że jeden z tych AVD powoduje problemy, sudo rm -r (UNIQUE PART OF AVD NAME) *

To powoduje usunięcie AVD. Następnie ponownie spróbować android AVD

@ rozwiązanie Breaking Bad za działa dobrze z wyjątkiem, gdy config jest uszkodzony

Powiązane problemy