Impossibile eliminare il dispositivo virtuale da Eclipse, Android


141

Ho più dispositivi virtuali, alcuni di essi non possono essere eliminati.

Il messaggio di errore è

Il dispositivo virtuale Android XXX è attualmente in esecuzione in un emulatore e non può essere eliminato

quando ho appena riavviato Ubuntu e ho appena avviato Eclipse.


1
Come stai cercando di eliminare ??
EnthuDeveloper

Sono in grado di eliminare e aggiungere comodamente da Eclipse. Fammi sapere come stai cercando di eliminarlo.
EnthuDeveloper

Se l'emulatore è in esecuzione e se stai cercando di eliminare l'emulatore attualmente in esecuzione, non verrà eliminato. Prima di eliminare il dispositivo virtuale, chiudi tutto l'emulatore in esecuzione
Karthi,

2
L'emulatore non funziona come ho già detto, almeno non l'ho eseguito. Sto cercando di rimuoverlo da Eclipse AVD Manager! È la piattaforma 4.0. Ho riavviato appositamente Ubuntu per uccidere tutti i processi, perché non ho trovato alcun .. Sembra che sia solo il problema della piattaforma Android 4.0.
successo il

Stesso problema per Android Studio al momento.
Jono,

Risposte:


290

In Linux / * nix e OSX:

  1. Trova la cartella .android nella tua $HOMEdirectory.
  2. In .android dovrebbe esserci una cartella avd
  3. Nella cartella avd dovrebbe essere presente uno o più file .ini e una corrispondente cartella del dispositivo virtuale * .avd .
  4. Elimina sia il file .ini che ilCartella .avd di cui vuoi sbarazzarti.
  5. Ritorna su Android sdk e AVD manager.

Spero che aiuti...


40
Funziona allo stesso modo per OSX. Nel terminale Vai a ~ / .android / avd / quindi elimina i file <nome avd> .ini e <nome avd> .avd. Quando aggiorni l'elenco nella finestra Dispositivi virtuali Android, l'ADV scompare.
Joseph L

3
e scommetto che funziona anche per Windows. Indovina che la struttura dell'SDK di Android è ovunque la stessa :) solo una questione di percorsi.
nuala,

Grazie JosephL. Puoi spiegare, il percorso che mostra se facciamo doppio clic sul nostro .avd che ho creato può essere solo navigare attraverso il terminale. Ma se provo ad accedere a finder -> / Users / home / posso vedere /.android/avd. perché ?
Maggio

Se guardi nella directory ~ / .android / avd / <avd-name> .avd, vedrai diversi file con l'estensione .lock. Puoi eliminarli e sarai in grado di utilizzare l'app di gestione dei dispositivi virtuali.
BJV,

Se quando si tenta di tornare alla gestione AVD viene visualizzato un errore che indica che non è stata impostata una posizione come l'SDK, attendere il caricamento dello spazio di lavoro. Ho seguito quanto sopra e ho ricevuto questo messaggio, ci è voluto un po 'per capire che stavo saltando troppo in fretta per tornare all'AVD
nPn

25

Nella cartella /home/.android/[your del dispositivo], a volte i file * .lock vengono lasciati indietro. Ciò può essere dovuto alla chiusura imprevista dell'emulatore. AVDM non si occupa di questo. L'eliminazione manuale di una cartella del dispositivo o la sua sostituzione risolve il problema.

Prima di provare a eliminare un dispositivo virtuale in AVDM. Rimuovi tutti i file * .lock dal corrispondente /home/.android/[your device] .avd fodlers. Sarai quindi in grado di eliminare senza il popup "dispositivo XXX è attualmente in esecuzione".


Il motivo originale per cui ho cercato di eliminare era che non ero in grado di avviarlo, con un errore non esplicativo. Quindi, per me, questa è la risposta migliore.
Shalafi,

19

Una soluzione alternativa e molto più semplice che funziona dal gestore AVD.

Dal gestore AVD fare clic sul pulsante Nuovo. Impostare il nome come nome del dispositivo che non è possibile chiudere, selezionare qualsiasi impostazione e selezionare la casella che dice Sostituisci l'AVD esistente con lo stesso nome.

Questo ucciderà il vecchio e lo sovrascriverà con quello nuovo. Il nuovo non è in esecuzione e quindi può essere eliminato.


6

Ho cercato il codice Java e questo errore significa che hai un AVD in esecuzione ... Hai provato a ucciderli tutti con top o htop (che è molto meglio).

    // 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;

con htop, puoi cercare con f3 cercare qualcosa di simile all'emulatore :)
Quentin DOMMERC

Lo snippet di codice ancora più interessante sarebbe quello che mostra come avdInfo.isRunning()viene deciso. (Probabilmente mostra che la cartella avd è sottoposta a scansione per i file *
.lock

1

Da Finder (OSX) O Directory Explorer (Linux e Windows)

  1. Trova la cartella .android [Cartella nascosta] nella tua directory $ HOME. Mostra / Nascondi cartelle su MAC
  2. In .android dovrebbe esserci una cartella .avd [Your Device]
  3. Trova i file * .lock ed eliminali nella cartella [Your Device] .avd

Da Android Studio

  1. Apri AVD Manager
  2. Seleziona il dispositivo virtuale che desideri eliminare
  3. Fare clic sulla freccia giù alla fine e selezionare [Mostra su disco] per aprire la directory
  4. Trova i file * .lock ed eliminali nella cartella [Your Device] .avd

Dopo questi passaggi ti consentirà di eliminare da AVD Manager


0

Ho avuto anche questo problema ... non sono riuscito a trovare / vedere la cartella .android in $ home. Non so se sia nascosto o cosa. Se fai doppio clic su un dispositivo Android in AVD Manager, questo ti mostrerà il percorso del "running avd" che è esattamente dove tutti dicono che dovrebbe essere. Dato che non sono riuscito a cancellare questi file usando la GUI ho usato la CLI (terminale per farlo). È possibile utilizzare i seguenti comandi [cd] per modificare la directory [rm -R] per rimuovere un file. Passo dopo passo:

  1. dal terminale cli che assomiglierà a questo:

    nameOfYourMac: ~ MacUser $

  2. genere

    cd .android / avd

    (modifiche alla directory)

    nameOfYourMac: avd MacUser $

  3. genere

    rm -R nameOfYourVirtualDevice.avd

Molto facile. Ora dovresti essere in grado di eliminare il dispositivo in AVD Manager di Eclipses.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.