環境變數

您可以設定 Android Studio 的環境變數和指令列工具,以指定 SDK 的安裝位置和使用者專屬資料的儲存位置。本頁面說明最常用的環境變數。

以下範例說明在 E:\Android\sdk\ 中安裝 SDK 後 (而非預設位置 $USER_HOME$HOME),如何使用環境變數啟動模擬器。

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

變數參考資料

下表說明 Android SDK 工具常用的環境變數。

表 1. 環境變數

Android SDK 環境變數
ANDROID_SDK_ROOT 設定 SDK 安裝目錄的路徑。設定完成後,這個值通常不會變更,而且可由同一部機器中的多位使用者共用。 同樣指向 SDK 安裝目錄的 ANDROID_HOME 已淘汰。如果要繼續使用,請遵守下列規則:
  • 如果 ANDROID_HOME 已定義且包含有效的 SDK 安裝,則會使用其值取代 ANDROID_SDK_ROOT 中的值。
  • 如果未定義 ANDROID_HOME,則會使用 ANDROID_SDK_ROOT 中的值。
  • 如果 ANDROID_HOME 已定義,但不存在或未包含有效的 SDK 安裝,則會使用 ANDROID_SDK_ROOT 中的值。
REPO_OS_OVERRIDE 使用 sdkmanager 下載不同於目前機器作業系統的套件時,請將此變數設為 windowsmacosxlinux電腦。
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_JDKJDK_HOMEJAVA_HOME 環境變數。
STUDIO_GRADLE_JDK 設定 Android Studio 用來啟動 Gradle Daemon 的 JDK 位置。當您啟動 IDE 時,系統會先檢查 STUDIO_GRADLE_JDK。如果未定義 STUDIO_GRADLE_JDK,IDE 會使用「專案結構」對話方塊中設定的值。
模擬器環境變數
根據預設,模擬器會將設定檔儲存在 $HOME/.android/ 底下,並將 AVD 資料儲存在 $HOME/.android/avd/ 底下。您可以藉由設定下列環境變數來覆寫預設值。 emulator -avd <avd_name> 指令會按照 $ANDROID_AVD_HOME$ANDROID_SDK_HOME/.android/avd/$HOME/.android/avd/ 中的值的順序搜尋 avd 目錄。

如需模擬器環境變數的說明,請在指令列中輸入 emulator -help-environment。如要進一步瞭解 emulator 指令列選項,請參閱透過指令列控管模擬器

ANDROID_EMULATOR_HOME 設定使用者專用模擬器設定目錄的路徑。在 Android Studio 4.1 以下版本中,預設位置為 $ANDROID_SDK_HOME/.android/

自 Android Studio 4.2 版本開始,ANDROID_SDK_HOME 環境變數已淘汰,且模擬器設定目錄的預設位置為 $ANDROID_PREFS_ROOT/.android/

ANDROID_AVD_HOME 設定目錄的路徑,其中包含所有 AVD 專用的檔案,而這些檔案主要包含非常大的磁碟映像檔。預設位置為 $ANDROID_EMULATOR_HOME/avd/。如果磁碟空間的預設位置偏低,您可能會想要指定新的位置。
Android 模擬器會在啟動時查詢下列環境變數。
ANDROID_LOG_TAGS 查看 ANDROID_LOG_TAGS
HTTP_PROXY 包含全域 http Proxy 的 HTTP/HTTPS Proxy (主機名稱和通訊埠) 設定。在主機與通訊埠之間使用冒號 (:) 分隔符。例如:set HTTP_PROXY=myserver:1981
ANDROID_VERBOSE 查看 ANDROID_VERBOSE
ANDROID_SDK_ROOT 查看 ANDROID_SDK_ROOT
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_AUDIO_OUT_DRVQEMU_AUDIO_IN_DRV 環境變數中選取其中一個 QEMU 值:


set QEMU_AUDIO_OUT=esd
set QEMU_AUDIO_IN=oss

如要停用音訊支援,請使用 emulator -no-audio 選項,或是將 QEMU_AUDIO_DRV 設為 none。 在下列情況下,您可能需要停用音訊:

  • 在極少數情況下,音訊驅動程式可能會在執行模擬器時導致 Windows 重新啟動。
  • 在某些 Linux 電腦上,模擬器在啟用音訊支援時可能遇到問題。
adb 環境變數
ANDROID_SERIAL 使用此變數,向 adb 指令提供模擬器序號 (例如 emulator-5555)。如果您設定了這個變數,但使用 -s 選項從指令列指定序號,則指令列輸入內容會覆寫 ANDROID_SERIAL 中的值。

下列範例會設定 ANDROID_SERIAL 並呼叫 adb install helloworld.apk,然後在 emulator-5555 上安裝 Android 應用程式套件。


set ANDROID_SERIAL=emulator-555
adb install helloWorld.apk
adb logcat 環境變數
ANDROID_LOG_TAGS 透過開發電腦執行 logcat 時,使用此環境變數來設定預設篩選器運算式。例如:

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

如需詳細資訊和範例,請參閱篩選記錄輸出

ADB_TRACE 包含要記錄的偵錯資訊清單 (以半形逗號分隔)。 可能的值:alladbsocketspacketsrwxusbsyncsysdepstransportjdwp

若要顯示 ADB 用戶端與 ADB 伺服器的 ADB 記錄,請將 ADB_TRACE 設為 all,然後呼叫 adb logcat 指令,如下所示:


set ADB_TRACE=all
adb logcat
ANDROID_VERBOSE 包含模擬器使用的詳細資訊輸出選項 (偵錯標記) 清單 (以半形逗號分隔)。以下是用 debug-socketdebug-radio 偵錯標記定義的 ANDROID_VERBOSE 範例:

set ANDROID_VERBOSE=socket,radio

不支援的偵錯標記會遭到忽略。如要進一步瞭解偵錯標記,請使用 emulator -help-debug-tags

如何設定環境變數

以下範例說明如何在終端機視窗和不同作業系統的殼層指令碼中設定環境變數。只要視窗開啟,終端機視窗中的變數設定就會持續有效。殼層指令碼中的變數設定在整個登入工作階段會保持生效。

Windows:在終端機視窗中,輸入以下內容:

set HTTP_PROXY=myserver:1981

或是透過 Windows 使用者介面將其新增至殼層指令碼。請參閱 Windows 版本的說明文件,瞭解如何操作。

Mac 和 Linux:在終端機視窗中,輸入以下內容:

export HTTP_PROXY=myserver:1981

或者,將其新增至 ~/.bash_profile 檔案,並將檔案命名為:

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