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.