Únete a ⁠ #Android11: The Beta Launch Show el 3 de junio.

Variables de 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 que se usan con mayor frecuencia.

En el siguiente ejemplo, se muestra cómo usar una variable de entorno para iniciar un emulador cuando se ubica la instalación del SDK en E:\Android\sdk\, en lugar de la 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ó, no suele cambiar el valor, y varios usuarios pueden compartirlo en la misma máquina. ANDROID_HOME, que también dirige al directorio de instalación del SDK, dejó de estar disponible. Si continúas usándolo, se aplicarán las siguientes reglas:
  • Si se definió ANDROID_HOME y contiene una instalación del SDK válida, se usa su valor en lugar del valor en ANDROID_SDK_ROOT.
  • Si no se definió ANDROID_HOME, se usa el valor de ANDROID_SDK_ROOT.
  • Si se definió ANDROID_HOME, pero no existe o no contiene una instalación del SDK válida, se usa el valor en ANDROID_SDK_ROOT.
REPO_OS_OVERRIDE Establece esta variable en windows, macosx o linux cuando uses sdkmanager a fin de descargar paquetes para un sistema operativo diferente de la máquina actual.
Variables de entorno de configuración de Android Studio
Las variables de configuración de Android Studio contienen opciones que permiten personalizar la ubicación de los archivos de configuración y el JDK. Cuando se inicia, Android Studio busca la configuración de estas variables. Para obtener más información, consulta Cómo configurar Android Studio.
STUDIO_VM_OPTIONS Establece 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 la sección Cómo personalizar tus opciones de VM.
STUDIO_PROPERTIES Establece 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 que instaló el usuario y el tamaño máximo de archivo que admite el IDE. Consulta la sección Cómo personalizar tus propiedades del IDE.
STUDIO_JDK Establece la ubicación del JDK con el que se ejecutará Android Studio. Cuando inicias el IDE, verifica las variables de entorno STUDIO_JDK, JDK_HOME y JAVA_HOME en ese orden.
STUDIO_GRADLE_JDK Establece la ubicación del JDK que usa Android Studio para iniciar el daemon de Gradle. Cuando inicias el IDE, primero comprueba STUDIO_GRADLE_JDK. Si no se definió STUDIO_GRADLE_JDK, el IDE usa el valor establecido en el diálogo Project Structure.
Variables de entorno del emulador
De forma 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 de $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. Si quieres obtener información sobre las opciones de línea de comandos del emulator, consulta el artículo Cómo controlar el emulador desde la línea de comandos.

ANDROID_EMULATOR_HOME Establece 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 Establece 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/. Se recomienda especificar una ubicación nueva si la predeterminada tiene poco espacio en el 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 se debe usar 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 una versión más reciente del archivo libstdc++.so.
Audio del 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 si estableces la variable de entorno QEMU_AUDIO_DRV en uno de los siguientes valores:
  • alsa: Usa el backend de Advanced Linux Sound Architecture (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 de 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 aplicaciones 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 ejecutes logcat desde tu computadora de desarrollo. Por ejemplo:

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

Consulta la sección 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 de los clientes y el servidor de adb, configura ADB_TRACE en all y 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 cómo se define ANDROID_VERBOSE 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 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, agrega el código 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, agrega el código a ~/.bash_profile y ejecuta ese archivo de la siguiente manera:

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