Variables del entorno

Puedes configurar variables de entorno para Android Studio y las herramientas de línea de comandos que especifican información como dónde está instalado el SDK y dónde se almacenan los datos específicos del usuario. En esta página, se describen las variables de entorno de uso frecuente.

El siguiente ejemplo, se muestra cómo usar una variable de entorno para iniciar un emulador cuando la instalación del SDK se ubicó en E:\Android\sdk\, en lugar de en su ubicación predeterminada de $USER_HOME o $HOME.

    $ set ANDROID_SDK_ROOT=E:\Android\sdk\
    $ emulator -avd Pixel_API_25
    

Referencia de variables

En la siguiente tabla, se describen las variables de entorno de uso frecuente para las herramientas del SDK de Android.

Tabla 1: Variables del entorno

Variables de entorno del SDK de Android
ANDROID_SDK_ROOT Configura la ruta de acceso al directorio de instalación del SDK. Una vez que se configuró, el valor generalmente no cambia y varios usuarios pueden compartirlo en el mismo equipo. ANDROID_HOME, que también apunta al directorio de instalación del SDK, dejó de estar disponible. Si continúas usándolo, se aplicarán las siguientes reglas:
  • Si ANDROID_HOME está definido y contiene una instalación del SDK válida, se usa su valor en lugar del valor en ANDROID_SDK_ROOT.
  • Si ANDROID_HOME no está definido, se usa el valor en ANDROID_SDK_ROOT.
  • Si ANDROID_HOME está definido, pero no existe o no contiene una instalación del SDK válida, se usa el valor en ANDROID_SDK_ROOT.
REPO_OS_OVERRIDE Configura esta variable en windows, macosx o linux cuando uses sdkmanager a fin de descargar paquetes para un sistema operativo diferente del equipo actual.
Variables de entorno de configuración de Android Studio
Las variables de configuración de Android Studio contienen opciones de configuración que personalizan la ubicación de los archivos de configuración y el JDK. En el inicio, Android Studio busca la configuración de estas variables. Para obtener más información, consulta Cómo configurar Android Studio.
STUDIO_VM_OPTIONS Configura la ubicación del archivo studio.vmoptions. Este archivo contiene una configuración que afecta las características de rendimiento de la máquina virtual de Java HotSpot. También se puede acceder a este desde Android Studio. Consulta Cómo personalizar tus opciones de VM.
STUDIO_PROPERTIES Configura la ubicación del archivo idea.properties. Este archivo te permite personalizar las propiedades de IDE de Android Studio, como la ruta de acceso a los complementos instalados por el usuario y el tamaño máximo de archivo admitido por el IDE. Consulta Cómo personalizar tus propiedades de IDE.
STUDIO_JDK Configura la ubicación del JDK con el que se ejecutará Studio. Cuando inicias Android Studio, comprueba las variables de entorno STUDIO_JDK, JDK_HOME y JAVA_HOME en ese orden.
Variables de entorno del emulador
De manera predeterminada, el emulador almacena los archivos de configuración en $HOME/.android/ y los datos de AVD en $HOME/.android/avd/. Para anular los valores predeterminados, configura las siguientes variables de entorno. El comando emulator -avd <avd_name> busca en el directorio avd en 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, escribe emulator -help-environment en la línea de comandos. Para obtener información sobre las opciones de línea de comandos del emulator, consulta Cómo controlar el emulador desde la línea de comandos.

ANDROID_EMULATOR_HOME Configura la ruta de acceso al directorio de configuración del emulador específico del usuario. La ubicación predeterminada es $ANDROID_SDK_HOME/.android/.
ANDROID_AVD_HOME Configura la ruta de acceso al directorio que contiene todos los archivos específicos de AVD, que en su mayoría consisten en imágenes de disco muy grandes. La ubicación predeterminada es $ANDROID_EMULATOR_HOME/avd/. Es posible que quieras especificar una nueva ubicación si la ubicación predeterminada tiene poco espacio en disco.
El emulador de Android consulta las siguientes variables de entorno cuando se inicia.
ANDROID_LOG_TAGS Consulta ANDROID_LOG_TAGS.
HTTP_PROXY Contiene la configuración del proxy HTTP/HTTPS (nombre de host y puerto) para un proxy http global. Usa un separador de dos puntos (:) entre el host y el puerto. Por ejemplo, set HTTP_PROXY=myserver:1981.
ANDROID_VERBOSE Consulta ANDROID_VERBOSE.
ANDROID_EMULATOR_HOME Consulta ANDROID_EMULATOR_HOME.
ANDROID_SDK_ROOT Consulta ANDROID_SDK_ROOT.
ANDROID_EMULATOR_USE_SYSTEM_LIBS Contiene un valor de 0 (predeterminado) o 1. Un valor de 1 significa que debe usarse el archivo libstdc++.so del sistema, en lugar del que viene incluido con el emulador. Configura esta variable de entorno solo cuando el emulador no se inicie en tu sistema Linux debido a un problema de la biblioteca del sistema. Por ejemplo, algunas bibliotecas de controladores Radeon GL para Linux requieren un archivo libstdc++.so más reciente.
Audio de emulador rápido (QEMU)
QEMU_AUDIO_DRV QEMU_AUDIO_OUT_DRV QEMU_AUDIO_IN_DRV En Linux, puedes cambiar el backend de audio predeterminado del emulador mediante la configuración de la variable de entorno QEMU_AUDIO_DRV en uno de los siguientes valores:
  • alsa: Usa el backend de Arquitectura Avanzada para el Sonido en Linux (ALSA).
  • esd: Usa el backend de Enlightened Sound Daemon (EsounD).
  • sdl: Usa el backend de audio Simple DirectMedia Layer (SDL) (no se admite entrada de audio).
  • oss:: Usa el backend de Open Sound System (OSS).
  • none:: No admite audio.

    set QEMU_AUDIO_DRV=alsa
    

También puedes usar backends distintos para entrada y salida de audio seleccionando uno de los valores de QEMU para las variables de entorno QEMU_AUDIO_OUT_DRV y QEMU_AUDIO_IN_DRV:


    set QEMU_AUDIO_OUT=esd
    set QEMU_AUDIO_IN=oss
    

Si quieres inhabilitar la compatibilidad con audio, usa la opción emulator -no-audio o configura QEMU_AUDIO_DRV en none. Es posible que debas inhabilitar el audio en las siguientes situaciones:

  • En casos excepcionales, los controladores de audio pueden hacer que Windows se reinicie mientras se ejecuta el emulador.
  • En algunos equipos de Linux, el emulador puede bloquearse en el inicio cuando la compatibilidad con audio está habilitada.
Variables de entorno adb
ANDROID_SERIAL Usa esta variable para proporcionar el número de serie de un emulador, como emulator-5555, a un comando adb. Si configuras esta variable, pero usas la opción -s para especificar un número de serie desde la línea de comandos, la entrada de la línea de comandos anula el valor en ANDROID_SERIAL.

En el siguiente ejemplo, se configura ANDROID_SERIAL y se llama a adb install helloworld.apk, que luego instala el paquete de la app para Android en emulator-5555.


    set ANDROID_SERIAL=emulator-555
    adb install helloWorld.apk
    
Variables de entorno adb logcat
ANDROID_LOG_TAGS Usa esta variable de entorno para configurar una expresión de filtro predeterminada cuando estés ejecutando logcat desde tu computadora de desarrollo. Por ejemplo:

    set ANDROID_LOG_TAGS=ActivityManager:I MyApp:D *:.
    

Consulta Cómo filtrar resultados de registros para obtener más información y ejemplos.

ADB_TRACE Contiene una lista separada por comas de la información de depuración que se registrará. Los valores pueden ser los siguientes: all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport y jdwp.

Para mostrar los registros de adb para los clientes y el servidor de adb, configura ADB_TRACE en all y, luego, llama al comando adb logcat, de la siguiente manera:


    set ADB_TRACE=all
    adb logcat
    
ANDROID_VERBOSE Contiene una lista separada por comas de opciones detalladas de salida (etiquetas de depuración) que usa el emulador. En el siguiente ejemplo, se muestra ANDROID_VERBOSE definido con las etiquetas de depuración debug-socket y debug-radio:

set ANDROID_VERBOSE=socket,radio

Se ignoran las etiquetas de depuración que no son compatibles. Para obtener más información sobre las etiquetas de depuración, usa emulator -help-debug-tags.

Cómo configurar variables de entorno

En los siguientes ejemplos, se muestra cómo configurar variables de entorno en una ventana de terminal y en una secuencia de comandos de shell para diferentes sistemas operativos. La configuración de la variable en las ventanas de terminal se mantiene mientras la ventana está abierta. La configuración de la variable en las secuencias de comandos de shell persiste entre las sesiones de acceso.

Windows: En una ventana de terminal, escribe lo siguiente:

set HTTP_PROXY=myserver:1981

De manera alternativa, agrégalo a una secuencia de comandos de shell por medio de la IU de Windows. Consulta la documentación de tu versión de Windows para saber cómo hacerlo.

Mac y Linux: En una ventana de terminal, escribe lo siguiente:

export HTTP_PROXY=myserver:1981

De manera alternativa, agrégalo a tu archivo ~/.bash_profile y ejecuta el archivo de la siguiente manera:

export HTTP_PROXY=myserver:1981
$ source ~/.bash_profile