2012-11-15 18 views
6

Getting NullPointerException beim Versuch, avd zu starten. Ich habe gerade das ADT-Bundle für Mac heruntergeladen und Android-AVD ausgeführt. Wer weiß, warum es scheitern würde?Android Virtual Device Manager kann nicht ausgeführt werden "android avd" erhält 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

Haben Sie die Plattform-Tools und eine Plattform herunterladen? Führen Sie './Android' aus, damit der SDK-Manager diese herunterladen kann. –

+0

Ja. Ich habe diese installiert. Versuchen, erneut zu löschen und zu installieren. –

+0

Auch nach dem Löschen der Plattform-Tools und Plattform bekomme ich die gleiche NPE. –

Antwort

4

Ich hatte genau dieses gleiche Problem gestern Abend und fand schließlich die Möglichkeiten, um den Emulator zu erhalten zu arbeiten:

Liste der verfügbaren Ziele mit: Android-Liste

android erstellen AVD Ziele -n {name} -t {targetID} (für {Name} ich wählte Tablet - glauben seine willkürliche)

== Noch nicht funktionierte, aber dann entdeckte ich =>

Ich habe mit der rechten Maustaste über die Datei manifest.xml geklickt, die ausgewählte Option Ausführen als -> Konfigurationen ausführen -> auf einer Registerkarte Ziel und ausgewählten AVD erstellt.

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

+0

Danke. Ich habe "Android-Ziellisten" und dann "Android erstellen AVD -n AndySim -t 2". Emulator funktioniert. –

2

ich nach dem Umzug um mein Android SDK das gleiche Problem hatte und die Änderung das Basisverzeichnisses durch die Umgebungsvariable ANDROID_SDK_HOME Einstellung. Es zeigt sich, dass in der folgenden Datei ein Pfad enthalten ist (Pfad unterhalb von ANDROID_SDK_HOME).

.android/AVD/nameofphone.ini

Die „path =“ Einstellung in der Datei absolut ist, also, wenn Sie um Ihre Dateien verschieben, wird er nicht mehr richtig sein. Wenn ich das auf den korrekten absoluten Pfad zur avd-Datei im selben Verzeichnis änderte, wurde mein Problem behoben.

+0

Ich hatte das genaue Problem, wollte Windows 7 neu installieren, Sie haben meinen Tag gerettet. In meinem Fall, der AVD-Pfad unter meinem Benutzerordner, hatte ich einige ältere AVD-Ini-Dateien, die auf Android-Version zielen, die nicht installiert wurden. – coocood

+0

In irgendeinem Grund hatte ich keinen Namen von phone.avd für einen von avds, nur .ini-Datei. Ich habe diese .ini einfach entfernt. – kaspartus

1

Es sieht aus wie dieses Problem wurde in Version 21.0.1 Vorschau 1 der SDK-Tools behoben.

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

Die wahrscheinlichste Ursache ist eine ungültige Eigenschaften-Datei, die nicht von dem AVD-Manager analysiert werden konnte. Das Aktualisieren auf den Vorschaukanal der SDK Tools sollte dies beheben, oder Sie können einfach auf die offizielle Version warten.

Sobald ich aktualisiert habe, startete der AVD-Manager und zeigte eine ungültige AVD in meiner Liste, die ich löschen konnte.

+0

Sie verweisen auf mein Problem, aber 21.0.1 behebt mein Problem nicht. @mikeplate's Lösung hilft mir. – kaspartus

13

Die folgende arbeitete für mich:

in der Befehlszeile ich in den Tools-Ordner des Android-SDK-Ordner navigiert. Von dort lief ich diesen Befehl ein:

android list avd 

Dies erzeugt eine Liste aller meiner virtuellen Geräte aber einer von ihnen zeigte sich das Problem sein.Der genaue Ausgang war wie folgt:

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 

Wenn Sie sehen, diese dann Kenntnis von der Eigenschaft „Name“ machen („Tab31“ in meiner Situation) und führen Sie den folgenden Befehl ein (natürlich mit Ihnen den Namen meines AVD ersetzen):

Danach konnte ich den AVD-Manager ohne jedes Problem starten.

+0

Es funktioniert! Vielen Dank. –

+0

Versuchte 'Android-Liste AVD', erhalte ich eine 'Ausnahme im Thread' main "java.lang.NullPointerException" bei at java.io.File. (File.java:277) bei com.android.sdklib.internal.avd.AvdManager.parseAvdInfo (AvdManager.java:1616) ..... – MSIslam

+0

Dies könnte helfen: http://StackOverflow.com/questions/ 30345134/nullpointerexcepton-in-android-studio-plugin-android-support – BreakingBrad

2

Wenn nichts von der oben genannten Lösungen arbeiten, die .android Ordner im Home-Verzeichnis zu löschen arbeiten

2

Es ist in der Regel, weil die Schaffung eines neuen AVD ausgefallen oder die configs für einen Ihres AVDS beschädigt ist.

Zum ~/.android/AVD

Überprüfen Sie die Liste der AVDS. Wenn du denkst, dass einer dieser AVDs die Probleme verursacht, sudo rm -r (EINZIGARTIGER TEIL VON AVD NAME) *

Dies entfernt, dass AVD. Dann erneut versuchen android AVD

@ Breaking Bad-Lösung funktioniert gut, außer wenn die Konfiguration beschädigt ist

Verwandte Themen