環境變數

如要設定 Android Studio 和指令列工具的行為,您可以設定 環境變數其中一個最實用的環境變數是 ANDROID_HOME,許多工具都會讀取 Android SDK 安裝目錄。 如要在不加入執行檔完整路徑的情況下,透過指令列執行工具, 設定你的指令 要納入的搜尋路徑環境變數 ANDROID_HOME/toolsANDROID_HOME/tools/binANDROID_HOME/platform-tools

如何設定環境變數

以下範例說明如何在終端機視窗,以及 不同作業系統的殼層指令碼最後,終端機視窗中的變數設定 按視窗設為開啟狀態在 macOS 和 Linux 上,每次新殼層啟動時,變數 設定完成 殼層 初始化指令碼在 Windows 上,變數設定 調整設定

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

set HTTP_PROXY=myserver:1981

您也可以透過 Windows UI 來新增以上內容。查看 Windows 版本的說明文件 。

macOS 和 Linux:設定環境變數的方法取決於 您使用的殼層如要判斷正在執行的殼層類型,請輸入以下內容:

echo $0

在諸如 Gnu BashZsh,變數是使用下列指令設定 語法:

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 及以下版本) 不會讀取 ANDROID_USER_HOME。 如要覆寫這些舊工具的使用者偏好設定位置,請 將 ANDROID_SDK_HOME 設為要接收資料的父項目錄 要在其下建立 .android 目錄。

REPO_OS_OVERRIDE 出現下列情況時,請將此變數設為 windowsmacosxlinux 你使用 sdkmanager ,下載與目前裝置不同的作業系統套件。
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 位置。當您 系統會先檢查 STUDIO_GRADLE_JDK,然後再啟動 IDE。如果 未定義 STUDIO_GRADLE_JDK,IDE 會使用 專案架構設定
模擬器環境變數
根據預設,模擬器會將設定檔儲存在 $HOME/.android/$HOME/.android/avd/ 底下的 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 Proxy 設定全域 HTTP Proxy主機名稱和通訊埠之間應加上冒號 (:) 分隔符,適用對象 例如: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_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 使用這個變數提供模擬器序號,例如: 改用 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 包含要記錄的偵錯資訊清單 (以半形逗號分隔)。 可能的值如下:alladbsocketspacketsrwxusbsyncsysdepstransportjdwp

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

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

這與指定 -verbose -verbose-socket -verbose-radio 透過指令列執行模擬器時一併完成兩個引數

系統會忽略不支援的偵錯標記。如要 如要瞭解偵錯標記,請使用 emulator -help-debug-tags