Вы можете настроить поведение 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
Для TCSH:
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 и более ранние версии, не считывают |
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/.
Чтобы получить справку по переменным среды эмулятора, введите в командной строке |
|
ANDROID_EMULATOR_HOME
|
Указывает путь к каталогу с конфигурацией эмулятора для определенного пользователя. Значение по умолчанию – $ANDROID_USER_HOME.
Более старые инструменты, например Android Studio 4.3 и более ранние версии, не считывают |
ANDROID_AVD_HOME
|
Указывает путь к каталогу, содержащему все файлы, относящиеся к AVD, которые в основном состоят из очень больших образов дисков. Местоположение по умолчанию – $ANDROID_EMULATOR_HOME/avd/. Указать новое местоположение может потребоваться, если в местоположении по умолчанию недостаточно места на диске.
|
| При запуске эмулятор Android запрашивает следующие переменные среды: | |
ANDROID_LOG_TAGS
|
Подробнее ANDROID_LOG_TAGS…
|
HTTP_PROXY
|
Содержит настройку HTTP/HTTPS-прокси для глобального HTTP-прокси. Использует двоеточие (:) в качестве разделителя между хостом и портом. Пример: Это то же самое, что указать аргумент
|
ANDROID_VERBOSE
|
Подробнее ANDROID_VERBOSE…
|
ANDROID_HOME
|
Подробнее ANDROID_HOME…
|
ANDROID_EMULATOR_USE_SYSTEM_LIBS
|
Содержит значение 0 (по умолчанию) или 1. Значение 1 означает, что вместо файла, поставляемого вместе с эмулятором, используется файл libstdc++.so системы.
Устанавливайте эту переменную среды, только если эмулятор не запускается в вашей системе Linux из-за проблемы с системной библиотекой. Например, некоторым библиотекам драйверов Radeon GL для Linux
требуется более новая версия файла libstdc++.so.
|
| Аудио в быстром эмуляторе (QEMU) | |
QEMU_AUDIO_DRV
QEMU_AUDIO_OUT_DRV
QEMU_AUDIO_IN_DRV
|
В Linux можно изменить аудиоподсистему эмулятора по умолчанию, задав для переменной среды QEMU_AUDIO_DRV одно из следующих значений:
set QEMU_AUDIO_DRV=alsa
Вы также можете использовать разные серверные части для аудиовхода и аудиовыхода, выбрав одно из значений QEMU для переменных среды set QEMU_AUDIO_OUT=esd set QEMU_AUDIO_IN=oss
Если вы хотите отключить поддержку аудио, используйте параметр
|
| переменные среды adb; | |
ANDROID_SERIAL
|
Используйте эту переменную, чтобы передать в команду adb серийный номер эмулятора, например emulator-5555. Если вы зададите эту переменную, но при этом укажете серийный номер в командной строке с помощью параметра -s, значение в ANDROID_SERIAL будет переопределено.
В приведенном ниже примере задается значение set ANDROID_SERIAL=emulator-555 adb install helloWorld.apk |
| Переменные среды adb logcat | |
ANDROID_LOG_TAGS
|
Используйте эту переменную среды, чтобы задать выражение фильтра по умолчанию при запуске adb logcat с компьютера разработчика. Пример:
set Выражение фильтра использует тот же синтаксис, что и параметр эмулятора Подробнее о том, как фильтровать данные журнала… |
ADB_TRACE
|
Содержит разделенный запятыми список отладочной информации, которую нужно зарегистрировать.
Допустимые значения: all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport и jdwp.
Чтобы посмотреть журналы set ADB_TRACE=all adb logcat |
ANDROID_VERBOSE
|
Содержит список параметров подробного вывода (теги отладки), разделенных запятыми, которые используются эмулятором. В следующем примере показан тег ANDROID_VERBOSE, определенный с помощью тегов отладки debug-socket и debug-radio:
set ANDROID_VERBOSE=socket,radio Это то же самое, что указать аргументы
Неподдерживаемые теги отладки игнорируются. Подробнее |