¿Es posible cambiar dónde se guardan los dispositivos virtuales de Android?

Configuré Android SDK y Eclipse en mi máquina con Windows XP y los AVD (dispositivos virtuales Android) se guardan en “Documentos y configuración \ usuario \. Android” de forma predeterminada. ¿Hay alguna forma de cambiar este comportamiento? Tengo todos los otros componentes guardados en un directorio en una partición separada y me gustaría que todo se consolidara. Obviamente no es un gran problema, pero ¿alguien aquí sabe una solución para esto?

Agregue una nueva variable de entorno de usuario (Windows 7):

  1. Menú Inicio> Panel de control> Sistema> Configuración avanzada del sistema (a la izquierda)> Variables de entorno
  2. Agregue una nueva variable de usuario (en la parte superior) que señale el directorio de usuario de su hogar:

Nombre de la variable: ANDROID_SDK_HOME
Valor variable: una ruta a un directorio de su elección

AVD Manager usará este directorio para guardar su directorio .android en él.

Para aquellos que puedan estar interesados, escribí en mi blog sobre mi primera incursión en el desarrollo de Android …
Android “Hola mundo”: un cuento de aflicción

Alternativamente, puede usar el Editor de entorno rápido para establecer las variables de entorno.

Ve al directorio de herramientas de Android. Edite el archivo de comando android.bat. Aproximadamente al final del archivo de comando, busque una línea similar a

 call %java_exe% -Djava.ext.dirs=%java_ext_dirs% -Dcom.android.sdkmanager.toolsdir="%tools_dir%" -Dcom.android.sdkmanager.workdir="%work_dir%" -jar %jar_path% %* 

y reemplazar

 call %java_exe% 

con

 call %java_exe% -Duser.home={your_prefer_dir} 

donde {your_prefer_dire} es su directorio preferido sin llaves, pero agrega las dobles comillas,

p.ej

 call %java_exe% -Duser.home="E:\Program Files (x86)\android-sdk-windows" 

Modifique el archivo “virtual_android2.2.ini” en “C: \ Documents and Settings {your windows login} .android \ avd \”:

 target=android-8 path=E:\android_workspace\avd\virtual_android2.2.avd 

Y mueva la carpeta “virtual_android2.2.avd” de “C: \ Documents and Settings {your windows login} .android \ avd \” a “E: \ android_workspace \ avd \”.

Mira esto . Usando el comando de android para crear avd , puedes especificar dónde colocar los archivos.

 -p --path Location path of the directory where the new AVD will be created 

Mueva su .android a donde lo desee.

Luego, crea un enlace simbólico como este:

 # In your home folder $ ln -s /path/to/.android/ .android 

Esto simplemente le dice a Linux que cada vez que la ruta ~ /.android sea ​​referenciada por cualquier aplicación, /path/to/.android a /path/to/.android .

Otra forma de especificar ANDROID_SDK_HOME sin perder el tiempo con las variables de entorno (especialmente cuando se usa ec2) es simplemente crear un atajo de eclipse y agregar lo siguiente como objective

C: \ Windows \ System32 \ cmd.exe / C “setx ANDROID_SDK_HOME YOUR AVD PATH / M & YOUR ECLIPSE.EXE PATH

Esto establecerá ANDROID_SDK_HOME como variable del sistema cada vez que ejecute eclipse.

HTH Paul

Tenga en cuenta lo siguiente: modificar android.bat en el directorio de herramientas de Android, como se sugirió en una respuesta anterior, puede ocasionar problemas.

Si lo hace, para tener legítimamente su directorio .android ubicado en una ubicación no predeterminada, puede haber una inconsistencia entre los AVD enumerados por Android Studio (usando “Herramientas> Android> Administrador AVD”) y los AVD enumerados por sdk herramienta de línea de comandos “android avd”.

Supongo que Android Studio, con su Administrador AVD interno, no usa la ruta modificada de android.bat; depende de la variable ANDROID_SDK_HOME para localizar AVD.

Mis propias pruebas han demostrado que las herramientas de Android usan correctamente la variable ANDROID_SDK_HOME.

Por lo tanto, no tiene sentido, hasta donde yo sé, modificar a android.bat, y se debe preferir usar la variable de entorno.

La variable de entorno ANDROID_AVD_HOME se puede usar para definir el directorio en el que AVD Manager buscará los archivos AVD INI y, por lo tanto, se puede usar para cambiar la ubicación de los dispositivos virtuales;

El valor predeterminado es %USERPROFILE%\.android\avd en Windows (o ~/.android/avd en Linux).

También se puede crear un enlace para todo el directorio %USERPROFILE%\.android en Windows (o un sym-link para el directorio ~/.android en Linux).

Al mover AVD, la entrada de path en el archivo AVD INI debe actualizarse en consecuencia.

Puede cambiar el archivo .ini para el nuevo AVD:

 target=android-7 path=C:\Users\username\.android\avd\VIRTUAL_DEVICE_NAME.avd 

No sé cómo especificar dónde debe almacenarse el archivo .ini 🙂

Según la documentación oficial https://developer.android.com/studio/command-line/variables.html , debe cambiar ANDROID_AVD_HOME environment var:

Variables de entorno del emulador

De manera predeterminada, el emulador almacena los archivos de configuración en $ HOME / .android / y datos AVD en $ HOME / .android / avd /. Puede anular los valores predeterminados configurando las siguientes variables de entorno. El comando emulator -avd busca en el directorio avd el orden de los valores en $ ANDROID_AVD_HOME, $ ANDROID_SDK_HOME / .android / avd /, y $ HOME / .android / avd /. Para obtener ayuda con la variable de entorno del emulador, escriba emulator -help-environment en la línea de comando. Para obtener información sobre las opciones de línea de comandos del emulador, vea Controlar el emulador desde la línea de comandos.

  • ANDROID_EMULATOR_HOME : establece la ruta al directorio de configuración del emulador específico del usuario. La ubicación predeterminada es
    $ ANDROID_SDK_HOME / .android /.
  • ANDROID_AVD_HOME : establece la ruta al directorio que contiene todos los archivos específicos de AVD, que consisten principalmente en imágenes de disco muy grandes. La ubicación predeterminada es $ ANDROID_EMULATOR_HOME / avd /. Es posible que desee especificar una nueva ubicación si la ubicación predeterminada es baja en espacio en disco.

Después de cambiar o configurar ANDROID_AVD_HOME, tendrá que mover todo el contenido dentro de ~ user / .android / avd / a su nueva ubicación y cambiar la ruta en el archivo ini de cada emulador, simplemente reemplácelo con su nueva ruta

Para Visual Studio 2017 en Windows 10

Copie C:\Users\YOURUSERNAME\.android la carpeta a (por ejemplo) E:\avd

Abra la ventana de variables de entorno:

  1. Vaya a Configuración y haga clic en Sistema.
  2. A la izquierda, haz clic en Acerca de y selecciona Información del sistema en la parte inferior.
  3. En la nueva ventana, haz clic en Configuración avanzada del sistema a la izquierda.
  4. Haga clic en Variables de entorno en la parte inferior de la ventana resultante.

Agregue una nueva variable:

  • Nombre de la variable: ANDROID_SDK_HOME
  • Valor de variable: una ruta a un directorio (por ejemplo, E:\avd )

No incluya .android en el valor de la variable.

Reinicie Visual Studio.

Para cambiar la ubicación de SDK y NDK, vaya a:

Herramientas -> Opciones -> Xamarin -> Configuración de Android

En mi caso, lo que me preocupa es el espacio en disco de la unidad C :. Entonces, lo que hice fue copiar la carpeta “.avd” (no el archivo) a otra unidad, y dejar el archivo “.ini” allí, pero cambiarlo para apuntar a la movida

Creo que la manera más fácil es mover la carpeta avd desde la carpeta C: \ Users [USER] .android a la ubicación deseada y luego crear un enlace simbólico en C: \ Users [USER] .android con el mismo nombre.

Si se pregunta cómo hacerlo, primero instale Link Shell Extension . Después del movimiento de la carpeta, haga clic derecho y seleccione Seleccionar enlace, luego haga clic con el botón derecho en la carpeta android y en el menú desplegable, seleccione … Enlace simbólico .

En Windows 10 tuve ese problema porque My C Drive se estaba llenando y había necesitado espacio libre, la carpeta AVD tenía 14 gigas, así que necesitaba mover esa carpeta a otro controlador, la primera respuesta no funcionó para Mí, así que probé de otra manera para solucionarlo este problema, hago una foto para ti si tienes el mismo problema, no necesitas mover todos los archivos en la carpeta .android a otra unidad (de esta manera no funciona) solo mueve las carpetas de vd en …. android \ avd a otra unidad y abrir archivos .ini y cambiar la ruta de la carpeta avd desde ese archivo a la nueva ruta. Me gusta esta imagen:

imagen te ayuda a ver cómo cambiar el viejo camino a la nueva ruta

Espero que esto funcione para ti.

ANDROID_SDK_HOME también funcionó para mí en Windows 8 x64, también encontré toda la ubicación (en mi caso era d: \. Android) y la eliminé. Ya no lo necesitarás más.

En el administrador de AVD, después de configurar AVD usando un objective con las Google APIs , en la ejecución se obtenía un error.

El detalle mostró: “Objetivo desconocido de AVD” Google Inc.: API de Google: …… ”

Durante la instalación (en el sistema Win7) elegí una ubicación de directorio SDK, en lugar de aceptar C:\Users\... Luego agregué ese directorio a la variable de entorno ‘ruta’ Línea de comando: los objectives de la lista android mostraron un par de Apis de Google

Establecer ANDROID_SDK_HOME en mi ruta de instalación solucionó el error de ejecución de avd.

Nombre de la variable: ANDROID_SDK_HOME
Valor de la variable: C: \ Users> Nombre de usuario

trabajó para mi.