No se puede eliminar el dispositivo virtual de Eclipse, Android

141

Tengo varios dispositivos virtuales, algunos de ellos no se pueden eliminar.

Mensaje de error es

El dispositivo virtual Android XXX se está ejecutando actualmente en un emulador y no se puede eliminar.

cuando acabo de reiniciar Ubuntu y solo inicié Eclipse.

que pasa
fuente
1
¿Cómo intentas eliminarlo?
EnthuDeveloper
Puedo eliminar y agregar desde Eclipse cómodamente. Avísame cómo intentas eliminarlo.
EnthuDeveloper
Si el emulador se está ejecutando y si está intentando eliminar el emulador actualmente en ejecución, no se eliminará. Antes de eliminar el dispositivo virtual, cierre todos los emuladores en ejecución
Karthi, el
2
El emulador no se está ejecutando como mencioné, al menos no lo ejecuté. Estoy tratando de eliminarlo de Eclipse AVD Manager! Es la plataforma 4.0. Especialmente reinicié Ubuntu para eliminar todos los procesos, porque no encontré ninguno. Parece que es solo el problema de la plataforma Android 4.0.
whatswrong
Mismo problema para Android Studio en este momento.
Jono

Respuestas:

290

En Linux / * nix y OSX:

  1. Encuentra la carpeta .android en tu $HOMEdirectorio.
  2. En .android debería haber una carpeta avd
  3. En la carpeta avd debe haber uno o varios archivos .ini y una carpeta de dispositivo virtual * .avd correspondiente .
  4. Elimine tanto el archivo .ini como elcarpeta .avd de la que desea deshacerse.
  5. Vuelva al administrador de Android SDK y AVD.

Espero que esto ayude...

Uttam
fuente
40
Funciona igual para OSX. En la terminal Vaya a ~ / .android / avd / luego elimine los archivos <avd name> .ini y <avd name> .avd. Cuando actualice la lista en la ventana Dispositivos virtuales de Android, el ADV desaparecerá.
JosephL
3
Y apuesto a que también funciona para Windows. Supongo que la estructura del SDK de Android es igual en todas partes :) solo es cuestión de caminos.
nuala
Gracias JosephL. ¿Puede explicar, la ruta que muestra si hacemos doble clic en nuestro .avd que creé solo se puede navegar a través de la terminal? Pero si trato de pasar por el buscador -> / Users / home / no puedo ver /.android/avd. porqué es eso ?
mayo
Si busca en el directorio ~ / .android / avd / <avd-name> .avd, verá varios archivos con la extensión .lock. Puede eliminarlos y luego podrá usar la aplicación de administrador de dispositivo virtual.
BJV
Si cuando intentas volver a la gestión de AVD aparece un error que dice que no se ha configurado la ubicación del SDK, dale tiempo al espacio de trabajo para cargar. Seguí lo anterior y recibí este mensaje, me tomó un tiempo
darme
25

En la carpeta /home/.android/[su dispositivo] .avd a veces se quedan archivos * .lock. Esto puede deberse a la terminación inesperada del emulador. AVDM no se ocupa de esto. Eliminar manualmente una carpeta del dispositivo o anularla resuelve el problema.

Antes de intentar eliminar un dispositivo virtual en AVDM. Elimine todos los archivos * .lock de los /home/.android/[su dispositivo] .avd fodlers correspondientes. Entonces podrá eliminar sin la ventana emergente 'dispositivo XXX se está ejecutando actualmente'.

jaro
fuente
La razón original por la que intenté eliminar fue que no pude iniciarlo, con un error muy poco explicativo. Entonces, para mí, esta es la mejor respuesta.
shalafi
19

Una solución alternativa y mucho más simple que funciona desde el administrador AVD.

Desde el administrador AVD, haga clic en el botón Nuevo. Establezca el nombre como el nombre del dispositivo que no puede cerrar, elija cualquier configuración y marque la casilla que dice Anular el AVD existente con el mismo nombre.

Esto matará al antiguo y sobrescribirá con el nuevo. El nuevo no se está ejecutando y, por lo tanto, se puede eliminar.

Jonny White
fuente
6

He estado buscando el código de Java y este error realmente significa que tienes un AVD ejecutándose ... ¿Has probado kill'em all con top o htop (que es mucho mejor).

    // 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
fuente
con htop, puedes buscar con f3 buscar algo así como un emulador :)
Quentin DOMMERC
El fragmento de código aún más interesante sería el que muestra cómo avdInfo.isRunning()se decide. (Probablemente muestra que la carpeta avd se escanea en busca de archivos * .lock.)
Risadinha
1

Desde Finder (OSX) O Directory Explorer (Linux y Windows)

  1. Busque la carpeta .android [Carpeta oculta] en su directorio $ HOME. Mostrar / Ocultar carpetas en MAC
  2. En .android debería haber una carpeta [Your Device] .avd
  3. Encuentre archivos * .lock y elimínelos dentro de la carpeta [Your Device] .avd

Desde Android Studio

  1. Abra el Administrador AVD
  2. Seleccione el dispositivo virtual que desea eliminar.
  3. Haga clic en la flecha hacia abajo al final y seleccione [Mostrar en disco] se abrirá el directorio
  4. Encuentre archivos * .lock y elimínelos dentro de la carpeta [Your Device] .avd

Después de estos pasos, le permitirá eliminar de AVD Manager

Shan Xeeshi
fuente
0

También tuve este problema ... no pude encontrar / ver la carpeta .android en $ home. No sé si está oculto o qué. Si hace doble clic en un dispositivo Android en el administrador AVD, le mostrará la ruta del "AVD en ejecución", que es exactamente donde todos dicen que debería estar. Como no podía eliminar estos archivos usando la GUI, usé CLI (terminal para hacerlo). Puede utilizar los siguientes comandos [cd] para cambiar el directorio [rm -R] para eliminar un archivo. Paso a paso:

  1. del terminal cli que se verá más o menos así:

    nameOfYourMac: ~ MacUser $

  2. tipo

    cd .android / avd

    (cambios de directorio)

    nameOfYourMac: avd MacUser $

  3. Tipo

    rm -R nameOfYourVirtualDevice.avd

Muy fácil. Ahora debería poder eliminar el dispositivo en el Administrador AVD de Eclipses.

user2506891
fuente