Переменные среды

Вы можете настроить поведение Android Studio и инструментов командной строки, задав переменные среды. Одной из наиболее полезных переменных среды для установки является ANDROID_HOME , которую многие инструменты считывают для определения каталога установки Android SDK. Чтобы запускать инструменты из командной строки без указания полного пути к исполняемому файлу, задайте для переменной среды пути поиска команд ANDROID_HOME /tools , ANDROID_HOME /tools/bin и ANDROID_HOME /platform-tools .

Как установить переменные среды

В следующих примерах показано, как установить переменные среды в окне терминала и в сценарии оболочки для разных операционных систем. Настройки переменных в окнах терминала действуют только до тех пор, пока окно открыто. В macOS и Linux каждый раз при запуске новой оболочки в сценариях инициализации оболочки задаются параметры переменных. В Windows переменные настройки можно установить через системные настройки.

Windows: В окне терминала введите следующее:

set HTTP_PROXY=myserver:1981

Альтернативно добавьте его через пользовательский интерфейс Windows. Чтобы узнать, как это сделать, обратитесь к документации вашей версии Windows.

macOS и Linux: точный метод установки переменных среды зависит от того, какую оболочку вы используете. Чтобы определить, какой тип оболочки запущен, введите следующее:

echo $0

В таких оболочках, как Gnu Bash или Zsh , переменные задаются с использованием следующего синтаксиса:

export VARIABLE_NAME=<new-value>

В других оболочках, таких как TCSH , переменные задаются с использованием следующего синтаксиса:

setenv VARIABLE_NAME <new-value>

Эти команды можно добавить в сценарий инициализации оболочки, чтобы устанавливать переменные каждый раз при запуске нового экземпляра оболочки.

Расположение сценария инициализации оболочки зависит от используемой оболочки. Для Gnu Bash это может быть ~/.bash_profile . Для Zsh это может быть ~/.zprofile . Для TCSH это может быть ~/.cshrc . Чтобы убедиться в этом, проверьте документацию оболочки, которую вы используете.

Вы также можете обновить переменную среды PATH , включив в нее расположение инструментов.

Для Gnu Bash или Zsh:

export ANDROID_HOME=~/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools
  

И для ТКШ:

setenv ANDROID_HOME ~/Library/Android/sdk
setenv PATH $PATH\:$ANDROID_HOME/tools\:$ANDROID_HOME/tools/bin\:$ANDROID_HOME/platform-tools
  

Справочник переменных

В следующей таблице описаны часто используемые переменные среды для инструментов Android SDK.

Таблица 1. Переменные среды

Переменные среды Android SDK
ANDROID_HOME Задает путь к каталогу установки SDK. После установки значение обычно не меняется и может использоваться несколькими пользователями на одном компьютере. ANDROID_SDK_ROOT , который также указывает на каталог установки SDK, устарел. Если вы продолжите использовать его, Android Studio и плагин Android Gradle проверят согласованность старых и новых переменных.
ANDROID_USER_HOME Устанавливает путь к каталогу пользовательских настроек для инструментов, входящих в состав Android SDK. По умолчанию $HOME/.android/ .

Некоторые старые инструменты, такие как Android Studio 4.3 и более ранние версии, не читают ANDROID_USER_HOME . Чтобы переопределить расположение пользовательских настроек для этих старых инструментов, установите ANDROID_SDK_HOME в родительский каталог, в котором вы хотите создать каталог .android .

REPO_OS_OVERRIDE Установите для этой переменной значение windows , macosx или linux если вы используете sdkmanager для загрузки пакетов для операционной системы, отличной от текущего компьютера.
Переменные среды конфигурации Android Studio
Переменные конфигурации Android Studio содержат параметры, определяющие расположение файлов конфигурации и JDK. При запуске Android Studio проверяет эти переменные на наличие настроек. Дополнительные сведения см. в разделе Настройка Android Studio .
STUDIO_VM_OPTIONS Устанавливает расположение файла studio.vmoptions . Этот файл содержит настройки, которые влияют на характеристики производительности виртуальной машины Java HotSpot. Доступ к этому файлу также можно получить из Android Studio. См. раздел Настройка параметров виртуальной машины .
STUDIO_PROPERTIES Устанавливает местоположение файла idea.properties . Этот файл позволяет настраивать свойства IDE Android Studio, такие как путь к установленным пользователем плагинам и максимальный размер файла, поддерживаемый IDE. См. раздел Настройка свойств IDE .
STUDIO_JDK Устанавливает расположение JDK, в котором работает Android Studio. Когда вы запускаете IDE, она проверяет переменные среды STUDIO_JDK , JDK_HOME и JAVA_HOME в указанном порядке.
STUDIO_GRADLE_JDK Устанавливает расположение JDK, который Android Studio использует для запуска демона Gradle. Когда вы запускаете IDE, она сначала проверяет STUDIO_GRADLE_JDK . Если STUDIO_GRADLE_JDK не определен, IDE использует значение, установленное в настройках структуры проекта .
Переменные среды эмулятора
По умолчанию эмулятор хранит файлы конфигурации в папке $HOME/.android/ , а данные AVD — в папке $HOME/.android/avd/ . Вы можете переопределить значения по умолчанию, установив следующие переменные среды. Команда emulator -avd <avd_name> выполняет поиск в каталоге avd в порядке значений в $ANDROID_AVD_HOME , $ANDROID_USER_HOME/avd/ и $HOME/.android/avd/ .

Чтобы получить справку по переменной среды эмулятора, введите emulator -help-environment в командной строке. Дополнительные сведения о параметрах командной строки emulator см. в разделе Запуск эмулятора из командной строки .

ANDROID_EMULATOR_HOME Устанавливает путь к пользовательскому каталогу конфигурации эмулятора. По умолчанию $ANDROID_USER_HOME .

Старые инструменты, такие как Android Studio 4.3 и более ранние версии, не читают ANDROID_USER_HOME . Для этих инструментов значение по умолчанию — $ANDROID_SDK_HOME/.android .

ANDROID_AVD_HOME Устанавливает путь к каталогу, содержащему все файлы, специфичные для AVD, которые в основном состоят из очень больших образов дисков. Местоположение по умолчанию — $ANDROID_EMULATOR_HOME/avd/ . Возможно, вам захочется указать новое расположение, если в расположении по умолчанию недостаточно места на диске.
Эмулятор Android при запуске запрашивает следующие переменные среды:
ANDROID_LOG_TAGS См. ANDROID_LOG_TAGS .
HTTP_PROXY

Содержит настройку прокси-сервера HTTP/HTTPS для глобального прокси-сервера HTTP. Между хостом и портом используется разделитель двоеточие (:). Например, set HTTP_PROXY=myserver:1981 .

Это то же самое, что указать аргумент -http-proxy proxy при запуске эмулятора из командной строки.

ANDROID_VERBOSE См. ANDROID_VERBOSE .
ANDROID_HOME См. ANDROID_HOME .
ANDROID_EMULATOR_USE_SYSTEM_LIBS Содержит значение 0 (по умолчанию) или 1. Значение 1 означает libstdc++.so Устанавливайте эту переменную среды только в том случае, если эмулятор не запускается в вашей системе Linux из-за проблемы с системной библиотекой. Например, для некоторых библиотек драйверов Linux Radeon GL требуется более поздний libstdc++.so .
Быстрый эмулятор (QEMU) звука
QEMU_AUDIO_DRV QEMU_AUDIO_OUT_DRV QEMU_AUDIO_IN_DRV В Linux вы можете изменить звуковую часть эмулятора по умолчанию, установив для переменной среды QEMU_AUDIO_DRV одно из следующих значений:
  • alsa : использовать серверную часть Advanced Linux Sound Architecture (ALSA).
  • esd : используйте серверную часть Enlightened Sound Daemon (EsounD).
  • sdl : использовать аудио-интерфейс Simple DirectMedia Layer (SDL) (аудиовход не поддерживается).
  • oss: : использовать серверную часть Open Sound System (OSS).
  • none: : Не поддерживать звук
set QEMU_AUDIO_DRV=alsa

Вы также можете использовать отдельные серверные части для аудиовхода и аудиовыходов, выбрав одно из значений QEMU для переменных среды QEMU_AUDIO_OUT_DRV и QEMU_AUDIO_IN_DRV :

set QEMU_AUDIO_OUT=esd
set QEMU_AUDIO_IN=oss

Если вы хотите отключить поддержку звука, используйте опцию emulator -no-audio или установите для QEMU_AUDIO_DRV значение none . Вам может потребоваться отключить звук в следующих ситуациях:

  • В редких случаях аудиодрайверы могут привести к перезагрузке Windows во время работы эмулятора.
  • На некоторых машинах с Linux эмулятор может зависать при запуске с включенной поддержкой звука.
переменные среды adb
ANDROID_SERIAL Используйте эту переменную, чтобы предоставить серийный номер эмулятора, например emulator-5555, команде adb . Если вы установите эту переменную, но используете опцию -s для указания серийного номера из командной строки, ввод командной строки переопределяет значение в ANDROID_SERIAL .

В следующем примере устанавливается ANDROID_SERIAL и вызывается adb install helloworld.apk , который затем устанавливает пакет приложения Android на emulator-5555.

set ANDROID_SERIAL=emulator-555
adb install helloWorld.apk
переменные среды adb logcat
ANDROID_LOG_TAGS Используйте эту переменную среды, чтобы установить выражение фильтра по умолчанию при запуске logcat на компьютере разработчика. Например:
set ANDROID_LOG_TAGS=ActivityManager:I MyApp:D *:.

Это то же самое, что указать аргумент -logcat tags при запуске эмулятора из командной строки.

Дополнительные сведения и примеры см. в разделе Фильтрация результатов журнала .

ADB_TRACE Содержит разделенный запятыми список отладочной информации для регистрации. Значения могут быть следующими: all , adb , sockets , packets , rwx , usb , sync , sysdeps , transport и jdwp .

Чтобы отобразить журналы adb для клиентов adb и сервера adb , установите для ADB_TRACE значение all , а затем вызовите команду adb logcat следующим образом:

set ADB_TRACE=all
adb logcat
ANDROID_VERBOSE Содержит разделенный запятыми список параметров подробного вывода (тегов отладки), используемых эмулятором. В следующем примере показан ANDROID_VERBOSE определенный с помощью тегов отладки debug-socket и debug-radio :
set ANDROID_VERBOSE=socket,radio

Это то же самое, что и совместное указание аргументов -verbose -verbose-socket -verbose-radio при запуске эмулятора из командной строки.

Неподдерживаемые теги отладки игнорируются. Для получения дополнительной информации о тегах отладки используйте emulator -help-debug-tags .