Virtuelles Gerät kann nicht aus Eclipse, Android gelöscht werden

141

Ich habe mehrere virtuelle Geräte, von denen einige nicht gelöscht werden können.

Fehlermeldung ist

Das Android Virtual Device XXX läuft derzeit in einem Emulator und kann nicht gelöscht werden

wenn ich gerade Ubuntu neu gestartet und nur Eclipse gestartet habe.

Was ist los mit dir
quelle
1
Wie versuchst du zu löschen?
EnthuDeveloper
Ich kann bequem aus Eclipse löschen und hinzufügen. Lassen Sie mich wissen, wie Sie versuchen, es zu löschen.
EnthuDeveloper
Wenn der Emulator ausgeführt wird und Sie versuchen, den aktuell ausgeführten Emulator zu löschen, wird er nicht gelöscht. Bevor Sie das virtuelle Gerät löschen, schließen Sie bitte alle laufenden Emulatoren
Karthi
2
Der Emulator läuft nicht wie erwähnt, zumindest habe ich ihn nicht ausgeführt. Ich versuche es aus Eclipse AVD Manager zu entfernen! Es ist Plattform 4.0. Ich habe Ubuntu speziell neu gestartet, um alle Prozesse zu beenden, da ich keine gefunden habe. Es scheint nur das Problem der Android 4.0-Plattform zu sein.
Whatswrong
Gleiches Problem für Android Studio im Moment.
Jono

Antworten:

290

Unter Linux / * nix und OSX:

  1. Suchen Sie den .android- Ordner in Ihrem $HOMEVerzeichnis.
  2. In .android sollte es einen avd- Ordner geben
  3. Im avd- Ordner sollten sich eine oder mehrere INI- Dateien und ein entsprechender * .avd- Ordner für virtuelle Geräte befinden.
  4. Löschen Sie sowohl die INI- Datei als auch die INI- Datei.avd Ordner, den Sie loswerden möchten.
  5. Kehren Sie zum Android SDK- und AVD-Manager zurück.

Ich hoffe das hilft...

Uttam
quelle
40
Funktioniert genauso für OSX. Gehen Sie im Terminal zu ~ / .android / avd / und löschen Sie die .avd-Dateien <avd name> .ini und <avd name> .avd. Wenn Sie die Liste im Fenster "Android Virtual Devices" aktualisieren, ist der ADV nicht mehr vorhanden.
JosephL
3
und ich wette, es funktioniert auch für Windows. Schätze, die Struktur des Android SDK ist überall gleich :) nur eine Frage der Pfade.
Nuala
Danke JosephL. Können Sie bitte erklären, dass der Pfad, der angezeigt wird, wenn wir auf unsere von mir erstellte .avd doppelklicken, nur durch das Terminal navigiert werden kann. Aber wenn ich versuche, durch den Finder zu gehen -> / Users / home / kann ich /.android/avd nicht sehen. warum ist das so ?
Mai
Wenn Sie im Verzeichnis ~ / .android / avd / <avd-name> .avd suchen, werden mehrere Dateien mit der Erweiterung .lock angezeigt. Sie können diese löschen und dann die Virtual Device Manager-App verwenden.
BJV
Wenn beim Versuch, zum AVD-Manager zurückzukehren, eine Fehlermeldung angezeigt wird, dass der SDK-Speicherort nicht festgelegt wurde, geben Sie dem Arbeitsbereich Zeit zum Laden. Ich folgte dem oben
Gesagten
25

Im Ordner /home/.android/[your device] .avd bleiben manchmal * .lock-Dateien zurück. Dies kann auf eine unerwartete Beendigung des Emulators zurückzuführen sein. AVDM kümmert sich nicht darum. Das manuelle Löschen oder Überschreiben eines Geräteordners löst das Problem.

Bevor Sie versuchen, ein virtuelles Gerät in AVDM zu löschen. Entfernen Sie alle * .lock-Dateien von den entsprechenden / home/.android/[your device] .avd-Fodlern. Sie können dann löschen, ohne dass das Popup "Gerät XXX läuft gerade" angezeigt wird.

jaro
quelle
Der ursprüngliche Grund, warum ich versucht habe zu löschen, war, dass ich es nicht starten konnte, mit einem sehr nicht erklärenden Fehler. Für mich ist dies die beste Antwort.
Shalafi
19

Eine alternative und viel einfachere Lösung, die vom AVD-Manager aus funktioniert.

Klicken Sie im AVD-Manager auf die Schaltfläche Neu. Legen Sie den Namen als den Namen des Geräts fest, das Sie nicht schließen können, wählen Sie Einstellungen aus und aktivieren Sie das Kontrollkästchen Vorhandene AVD mit demselben Namen überschreiben.

Dies wird den alten töten und mit dem neuen überschreiben. Der neue läuft nicht und kann daher gelöscht werden.

Jonny White
quelle
6

Ich habe nach dem Java-Code gesucht und dieser Fehler bedeutet wirklich, dass eine AVD ausgeführt wird ... Haben Sie versucht, sie alle mit top oder htop zu töten (was viel besser ist)?

    // check if the AVD is running
    if (avdInfo.isRunning()) {
        display.asyncExec(new Runnable() {
            public void run() {
                Shell shell = display.getActiveShell();
                MessageDialog.openError(shell,
                        "Delete Android Virtual Device",
                        String.format(
                                "The Android Virtual Device '%1$s' is currently running in an emulator and cannot be deleted.",
                                avdInfo.getName()));
            }
        });
        return;
Quentin DOMMERC
quelle
mit htop können Sie mit f3 suchen so etwas wie Emulator suchen :)
Quentin DOMMERC
Das noch interessantere Code-Snippet wäre das, das zeigt, wie avdInfo.isRunning()entschieden wird. (Es zeigt wahrscheinlich, dass der avd-Ordner nach * .lock-Dateien durchsucht wird.)
Risadinha
1

Vom Finder (OSX) ODER Verzeichnis-Explorer (Linux & Windows)

  1. Suchen Sie den .android-Ordner [Hidden Folder] in Ihrem $ HOME-Verzeichnis. Ordner auf MAC ein- / ausblenden
  2. In .android sollte sich ein .avd-Ordner [Ihr Gerät] befinden
  3. Suchen Sie nach * .lock-Dateien und löschen Sie sie im .avd-Ordner [Your Device]

Aus Android Studio

  1. Öffnen Sie den AVD Manager
  2. Wählen Sie das virtuelle Gerät aus, das Sie löschen möchten
  3. Klicken Sie am Ende auf den Abwärtspfeil und wählen Sie [Auf Festplatte anzeigen], um das Verzeichnis zu öffnen
  4. Suchen Sie nach * .lock-Dateien und löschen Sie sie im .avd-Ordner [Your Device]

Nach diesen Schritten können Sie aus dem AVD Manager löschen

Shan Xeeshi
quelle
0

Ich hatte auch dieses Problem. Ich konnte den .android-Ordner in $ home nicht finden / sehen. Ich weiß nicht, ob es versteckt ist oder was. Wenn Sie im AVD-Manager auf ein Android-Gerät doppelklicken, wird der Pfad der "laufenden AVD" angezeigt, genau dort, wo alle sagen, dass es sein sollte. Da ich diese Dateien nicht über die GUI löschen konnte, habe ich die CLI (Terminal dazu) verwendet. Sie können die folgenden Befehle [cd] verwenden, um das Verzeichnis [rm -R] zu ändern und eine Datei zu entfernen. Schritt für Schritt:

  1. vom Terminal Cli, das ungefähr so ​​aussehen wird:

    nameOfYourMac: ~ MacUser $

  2. Art

    cd .android / avd

    (Verzeichniswechsel)

    nameOfYourMac: avd MacUser $

  3. Art

    rm -R nameOfYourVirtualDevice.avd

Ziemlich einfach. Jetzt sollten Sie das Gerät im AVD Manager von Eclipses löschen können.

user2506891
quelle