2010-05-15 8 views
136

He configurado 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?¿Es posible cambiar dónde se guardan los dispositivos virtuales de Android?

+0

He hecho un disco RAM virtual que es 100 veces más rápido que SSD y mueve los archivos del emulador a este emulador de aceleraciones de disco cargando mucho. – Vinigas

+0

@Vinigas ¿Puede elaborar por favor "disco RAM que es 100x" Quiero acelerar mi emulador también –

+0

Uso el software "SoftPerfect RAM disk" para crear un disco virtual. Luego pongo los archivos del emulador de Android en este disco RAM y establezco la ubicación del emulador. Si tiene una unidad de disco duro, verá una gran diferencia entre el emulador en la unidad de disco duro y en la memoria RAM. – Vinigas

Respuesta

191

Agregar 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. Agregar una nueva variable de usuario (en el la parte superior) que señala el directorio de usuario doméstico:

    nombre de la variable: ANDROID_SDK_HOME
    valor de variable: una ruta a un directorio de su elección

AVD Manager utilizará este directorio para salvar su directorio .android en ella.

Para aquellos que puedan estar interesados, publiqué mi primera incursión en el desarrollo de Android ...
Android "Hello World": a Tale of Woe

Alternativamente, se puede utilizar el Rapid Environment Editor para establecer las variables de entorno.

+0

¡Funcionó como un amuleto, gracias! – Bnaya

+0

Esta debería ser la respuesta aceptada. Directo y conciso. Gracias wloescher. –

+0

increíble! Fácil y ayúdame mucho – hqt

6

Verificar this salir. utilizando el comando android para crear avd puede especificar dónde colocar los archivos.

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

¿Conoces alguna forma de hacer esto a través de la utilidad de configuración y configurarla para un valor predeterminado? ¿ubicación? – primehunter326

+0

No realmente. Ni siquiera uso windows :( – Macarse

+0

Bueno, como dije, no es gran cosa, solo pensé que habría alguna forma de controlarlo más dado lo modular que es todo el paquete SDK. ¡Gracias por tu ayuda! – primehunter326

2

Puede cambiar el archivo .ini para la nueva AVD:

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

No sé cómo especificar en el archivo .ini debe almacenarse :)

17

Ir a el directorio de herramientas de Android. Edite el archivo de comando android.bat. Casi al final del archivo de comandos, encontrar 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 aparatos además de añadir doublequotes,

por ejemplo

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

Esto funcionó para mí , mientras que la respuesta aceptada no. Además, esto realmente responde a lo que OP pidió, que fue cómo cambiar desde el directorio de inicio del usuario a otro directorio AVD, no al revés. – Kidburla

+0

¡Trabajó para mí, gracias! –

+0

gratitud !!!!!!! –

16

Modificar el archivo "virtual_android2.2.ini" en "C: \ Documents and Settings {ventanas login} .android \ avd \":

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

y mover la carpeta "virtual_android2 .2.avd "desde" C: \ Documents and Settings {su inicio de sesión de Windows} .android \ avd \ "en" E: \ android_workspace \ avd \ ".

+0

¡Esto funcionó para mí! Un poco molesto tener que hacer esto para cada emulador que creo – Chucky

3

Otra forma de especificar ANDROID_SDK_HOME sin jugar un poco con las variables de entorno (especialmente cuando se utiliza EC2) es simplemente crear un acceso directo de Eclipse y añadir lo siguiente como objetivo

C: \ Windows \ System32 \ cmd.exe/C "setx ANDROID_SDK_HOME SU CAMINO AVD/M & SU CAMINO eclipse.exe"

Esto establecerá ANDROID_SDK_HOME como variable de sistema cada vez que inicie eclipse.

HTH Paul

1

En mi caso, lo que me preocupa es el directorio C: espacio en el disco duro. Así que lo que hice es copiar la carpeta ".avd" (no presente) a otra unidad, y dejar el archivo ".ini", pero no cambiar para que apunte a la

0

Nombre de la variable movido: ANDROID_SDK_HOME
valor variable : C: \ Users> Nombre de usuario

funcionó para mí.

0

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.

1

creo que la forma más fácil es mover la carpeta avd de C: \ Users [usuario] carpeta .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 sobre él y seleccione Seleccionar enlace origen luego haga clic derecho en la carpeta android y en Eliminar como ... submenú seleccione Enlace simbólico.

+0

esto funciona y, sinceramente, debería ser mucho más alto. Además, puede crear un enlace simbólico para 'C: \ Users \ user \ AppData \ Local \ Android \ Sdk \ system-images', ese lugar también consume mucho espacio. no necesita usar ninguna herramienta de terceros, 'mklink/D system-images D: \ path \ to \ system-images' funciona bien – squirrel

4

Mueva su .android a donde lo desee.

A continuación, cree un enlace simbólico de esta manera:

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

Esto simplemente le dice a Linux que cada vez que el camino ~ /.android hace referencia a cualquier aplicación, vincularlo a /path/to/.android.

+0

Gracias @ prakharsingh95 – TonyMkenu

3

Tenga en cuenta lo siguiente: la modificación de 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, entonces puede haber una incoherencia entre los AVD enumerados por Android Studio (usando "Herramientas> Android> Administrador de AVD") y los AVD enumerados por la herramienta de línea de comandos sdk "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é, en la modificación de android.bat, y se debe preferir el uso de la variable de entorno.

0

En el administrador de AVD, después de configurar AVD utilizando un objetivo con Google APIs, en ejecución se producía un error.

Detalle mostró: "AVD Desconocido objetivo 'API de Google Inc.:Google: ......"

durante la instalación (en el sistema Windows 7) que había elegido una ubicación de directorio SDK, en vez de aceptar C:\Users\... me luego agregó que el directorio a la variable de entorno 'camino' línea de comandos : lista androide dirige mostró un par de API de Google.

Configuración ANDROID_SDK_HOME en mi ruta de instalación corrigió el error de ejecución avd.

2

La variable de entorno ANDROID_AVD_HOME se puede utilizar para definir el directorio en el que el Administrador AVD buscará 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 enlace simbólico para el directorio ~/.android en Linux).

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

+0

Esta variable de entorno ANDROID_AVD_HOME podría preferirse a ANDROID_SDK_HOME como evita mover cualquier configuración específica del usuario almacenada en ~/.android porque otros usuarios/distribuciones podrían usar los mismos AVD. En Linux, exporté ANDROID_AVD_HOME en mi ~/.profile y funciona muy bien. – John

0

Para Visual Studio 2017 en Windows 10

Copiar carpeta Para C:\Users\YOURUSERNAME\.android (por examole) E:\avd

Agregar una nueva variable de entorno

  1. entrar en la configuración y haga clic en Sistema.
  2. A continuación, en el lado izquierdo, haga clic en Acerca de y seleccione Información del sistema en la parte inferior de .
  3. En la nueva ventana del Panel de control que se abre, haga clic en Configuración avanzada del sistema a la izquierda.
  4. Ahora en la nueva ventana que aparece, seleccione Variables de entorno en en la parte inferior.

Variable name: ANDROID_SDK_HOME Variable value: a path to a directory (por ejemplo E: \ AVD)

No incluya .android de valor variable.

Reiniciar Visual Studio.

Para el cambio SDK & NDK ubicación vaya a:

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

1

En Windows 10 tuve ese problema porque mi unidad C estaba lleno y que 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 solucionar este problema, Le hago una foto si tiene el mismo problema, no es necesario mover todos los archivos en la carpeta .android a otra unidad (de esta manera no funciona) simplemente mueva las carpetas de vd en .... android \ avd a otra unidad y abra los archivos .ini y cambie avd folde r ruta desde ese archivo a la nueva ruta. Como esta imagen:

image help you to see how change old path to new path

Espero que esto funcione para usted.

Cuestiones relacionadas