您可以通过设置环境变量来配置 Android Studio 和命令行工具的行为。最有用且需要设置的环境变量之一是 ANDROID_HOME
,许多工具会读取该变量以确定 Android SDK 的安装目录。要在命令行中运行工具而无需包含可执行文件的完整路径,请将命令搜索路径环境变量设置为包含 ANDROID_HOME/tools
、ANDROID_HOME/tools/bin
和 ANDROID_HOME/platform-tools
。
如何设置环境变量
以下示例展示了如何在不同操作系统的终端窗口和 Shell 脚本中设置环境变量。终端窗口中的变量设置仅在窗口打开期间有效。在 macOS 和 Linux 上,每次启动新 Shell 时,变量设置都会在 Shell 初始化脚本中进行。在 Windows 上,可以通过系统设置来设置变量。
Windows:在终端窗口中,输入以下内容
set HTTP_PROXY=myserver:1981
或者,通过 Windows UI 添加。请查阅您所用 Windows 版本的文档以了解具体方法。
macOS 和 Linux:设置环境变量的具体方法取决于您使用的 Shell。要确定正在运行的 Shell 类型,请输入以下内容
echo $0
在诸如 Gnu Bash 或 Zsh 等 Shell 中,变量使用以下语法设置
export VARIABLE_NAME=<new-value>
在其他 Shell 中,例如 TCSH,变量使用以下语法设置
setenv VARIABLE_NAME <new-value>
这些命令可以添加到 Shell 初始化脚本中,以便每次运行新的 Shell 实例时都设置这些变量。
Shell 初始化脚本的位置取决于所使用的 Shell。对于 Gnu Bash,位置可以是 ~/.bash_profile
。对于 Zsh,位置可以是 ~/.zprofile
。对于 TCSH,位置可以是 ~/.cshrc
。请查阅您所用 Shell 的文档以确保。
您还可以更新 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
|
当您使用 sdkmanager 为与当前机器不同的操作系统下载软件包时,请将此变量设置为 windows 、macosx 或 linux 。
|
Android Studio 配置环境变量 | |
Android Studio 配置变量包含自定义配置文件位置和 JDK 的设置。在启动时,Android Studio 会检查这些变量以获取设置。如需了解更多信息,请参阅配置 Android Studio。 | |
STUDIO_VM_OPTIONS
|
设置 studio.vmoptions 文件的位置。此文件包含影响 Java HotSpot 虚拟机性能特征的设置。此文件也可以在 Android Studio 中访问。请参阅自定义您的 VM 选项。 |
STUDIO_PROPERTIES
|
设置 idea.properties 文件的位置。此文件允许您自定义 Android Studio IDE 属性,例如用户安装插件的路径和 IDE 支持的最大文件大小。请参阅自定义您的 IDE 属性。 |
STUDIO_JDK
|
设置 Android Studio 运行所用的 JDK 位置。启动 IDE 时,它会按 STUDIO_JDK 、JDK_HOME 和 JAVA_HOME 的顺序检查环境变量。 |
STUDIO_GRADLE_JDK
|
设置 Android Studio 用于启动 Gradle 守护进程的 JDK 位置。启动 IDE 时,它会首先检查 STUDIO_GRADLE_JDK 。如果未定义 STUDIO_GRADLE_JDK ,IDE 会使用项目结构设置中设置的值。 |
模拟器环境变量 | |
默认情况下,模拟器将配置文件存储在 $HOME/.android/ 下,将 AVD 数据存储在 $HOME/.android/avd/ 下。您可以通过设置以下环境变量来覆盖默认值。emulator -avd <avd_name> 命令会按 $ANDROID_AVD_HOME 、$ANDROID_USER_HOME/avd/ 和 $HOME/.android/avd/ 中的值的顺序搜索 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 代理的 HTTP/HTTPS 代理设置。主机和端口之间使用冒号 (:) 分隔符。例如, 这与从命令行运行模拟器时指定
|
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 环境变量设置为以下值之一来更改模拟器的默认音频后端
set QEMU_AUDIO_DRV=alsa 您还可以通过为 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
|
当您从开发计算机运行 logcat 时,使用此环境变量来设置默认过滤表达式。例如set 这与从命令行运行模拟器时指定 如需了解更多信息和示例,请参阅过滤日志输出。 |
ADB_TRACE
|
包含要记录的调试信息,以逗号分隔。可选值包括:all 、adb 、sockets 、packets 、rwx 、usb 、sync 、sysdeps 、transport 和 jdwp 。要显示 set ADB_TRACE=all adb logcat |
ANDROID_VERBOSE
|
包含模拟器使用的详细输出选项(调试标记)的逗号分隔列表。以下示例显示了使用 debug-socket 和 debug-radio 调试标记定义的 ANDROID_VERBOSE :set ANDROID_VERBOSE=socket,radio 这与从命令行运行模拟器时同时指定
不支持的调试标记将被忽略。如需了解有关调试标记的更多信息,请使用 |