您可以透過設定環境變數,來設定 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 UI 來新增以上內容。如需操作方式,請參閱所用 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 安裝目錄的路徑。設定完成後,這個值通常不會變更,而且可由同一部裝置上的多位使用者共用。
同樣指向 SDK 安裝目錄的 ANDROID_SDK_ROOT 已淘汰。如果您繼續使用已淘汰的變數,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 Daemon 的 JDK 位置。IDE 在啟動時會先檢查 STUDIO_GRADLE_JDK 。如未定義 STUDIO_GRADLE_JDK ,IDE 會採用專案架構設定中定義的值。
|
模擬器環境變數 | |
根據預設,模擬器會將設定檔和 AVD 資料分別儲存在 $HOME/.android/ 及 $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 Proxy 的 HTTP/HTTPS 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 環境變數設為下列其中一個值,藉此變更模擬器的預設音訊後端:
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 這與透過指令列執行模擬器時一併指定
系統會忽略不支援的偵錯標記。如要進一步瞭解偵錯標記,請使用 |