【最全】安卓環境變量配置

正文:

安卓環境變量,一般我們配置 ANDROID_HOME 的幾個變量就完,但現在,ANDROID_HOME這個變量已經被廢棄了,變成了

ANDROID_SDK_ROOT,這估計是android sdk tools 26 帶來的變更。低版本可以不用理會,高版本目前還可以使用舊的變量名。

一般我們配置:

%ANDROID_HOME%\tools;
%ANDROID_HOME%\platform-tools;

實際上還可以配置Android Studio的環境變量,模擬器環境變量等。還是直接參考官網吧。

 

附錄:

鏈接:https://developer.android.google.cn/studio/command-line/variables

以下是谷歌原文:

The Android Developer Challenge is back! Submit your idea before December 2.

環境變量

您可以爲 Android Studio 和命令行工具設置環境變量,以指定 SDK 的安裝位置以及特定於用戶的數據的存儲位置等。本頁介紹了最常用的環境變量。

以下示例演示了當把 SDK 安裝在 E:\Android\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 安裝目錄的路徑。設置後,該值通常不會更改,並且可以由同一臺計算機上的多個用戶共享。 ANDROID_HOME 也指向 SDK 安裝目錄,但已棄用。如果您繼續使用它,則需遵守以下規則:
  • 如果定義了 ANDROID_HOME 並且其中包含有效的 SDK 安裝,則會使用 ANDROID_HOME 的值而不是 ANDROID_SDK_ROOT 的值。
  • 如果未定義 ANDROID_HOME,則會使用 ANDROID_SDK_ROOT 中的值。
  • 如果定義了 ANDROID_HOME,但其中不存在或不包含有效的 SDK 安裝,則會使用 ANDROID_SDK_ROOT 中的值。
REPO_OS_OVERRIDE 當您使用 sdkmanager 爲與當前計算機不同的操作系統下載軟件包時,請將此變量設置爲 windowsmacosx 或 linux

注意:您可以使用 Android Studio 而不是 sdkmanager 來管理 SDK 軟件包。請參閱使用 SDK 管理器更新工具

Android Studio 配置環境變量
Android Studio 配置變量包含用於自定義配置文件和 JDK 位置的設置。啓動時,Android Studio 會檢查這些變量的設置。如需瞭解詳情,請參閱配置 Android Studio
STUDIO_VM_OPTIONS 設置 studio.vmoptions 文件的位置。此文件包含會影響 Java HotSpot 虛擬機性能特徵的設置。您也可以從 Android Studio 中訪問此文件。請參閱自定義虛擬機選項
STUDIO_PROPERTIES 設置 idea.properties 文件的位置。您可以使用此文件自定義 Android Studio IDE 屬性(例如用戶安裝的插件的路徑)以及 IDE 支持的文件大小上限。請參閱自定義 IDE 屬性
STUDIO_JDK 設置運行 Studio 所使用的 JDK 的位置。當您啓動 Android Studio 時,它會依次檢查 STUDIO_JDKJDK_HOME 和 JAVA_HOME 環境變量。
模擬器環境變量
默認情況下,模擬器會將配置文件存儲在 $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_SDK_HOME/.android/
ANDROID_AVD_HOME 設置包含所有 AVD 特定文件的目錄的路徑,這些文件大多由非常大的磁盤映像組成。默認位置爲 $ANDROID_EMULATOR_HOME/avd/。如果默認位置的磁盤空間不足,則可能需要指定新位置。
Android 模擬器在啓動時會查詢以下環境變量。
ANDROID_LOG_TAGS 請參閱 ANDROID_LOG_TAGS
HTTP_PROXY 包含全局 http 代理的 HTTP/HTTPS 代理(主機名和端口)設置。在主機和端口之間使用英文冒號 (:) 分隔符。例如,set HTTP_PROXY=myserver:1981
ANDROID_VERBOSE 請參閱 ANDROID_VERBOSE
ANDROID_EMULATOR_HOME 請參閱 ANDROID_EMULATOR_HOME
ANDROID_SDK_ROOT 請參閱 ANDROID_SDK_ROOT
ANDROID_EMULATOR_USE_SYSTEM_LIBS 包含值 0(默認值)或 1。值爲 1 表示使用系統的 libstdc++.so 文件,而不是與模擬器捆綁在一起的文件。請僅在模擬器因系統庫問題而無法在 Linux 系統上啓動時,才設置此環境變量。例如,某些 Linux Radeon GL 驅動程序庫需要更新的 libstdc++.so 文件。

注意:無法保證將此環境變量設置爲 1 就能夠使模擬器正常運行。這樣做能夠解決只會影響很少一部分 Linux 用戶的系統庫問題。

快速模擬器 (QEMU) 音頻
QEMU_AUDIO_DRVQEMU_AUDIO_OUT_DRVQEMU_AUDIO_IN_DRV 在 Linux 上,您可以通過將 QEMU_AUDIO_DRV 環境變量設置爲以下值之一來更改模擬器的默認音頻後端:
  • alsa:使用高級 Linux 音頻架構 (ALSA) 後端
  • esd:使用 Enlightened Sound Daemon (EsounD) 後端
  • sdl:使用簡易直控媒體層 (SDL) 音頻後端(不支持音頻輸入)
  • oss::使用開放聲音系統 (OSS) 後端
  • none::不支持音頻
    set QEMU_AUDIO_DRV=alsa
    

 

您還可以通過分別爲 QEMU_AUDIO_OUT_DRV 和 QEMU_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,然後該 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 包含要記錄的調試信息的逗號分隔列表。具體值可以是:alladbsocketspacketsrwxusbsyncsysdepstransport 和 jdwp

要顯示 adb 客戶端和 adb 服務器的 adb 日誌,請將 ADB_TRACE 設置爲 all,然後調用 adb logcat 命令,如下所示:

    set ADB_TRACE=all
    adb logcat
    

 

ANDROID_VERBOSE 包含模擬器使用的詳細輸出模式選項的逗號分隔列表。以下示例展示了使用 debug-socket 和 debug-radio 調試標記定義的 ANDROID_VERBOSE
set ANDROID_VERBOSE=socket,radio

 

不受不支持的調試標記會被忽略。如需詳細瞭解調試標記,請使用 emulator -help-debug-tags

如何設置環境變量

以下示例展示瞭如何在終端窗口和 shell 腳本中針對不同的操作系統設置環境變量。對於終端窗口中的變量設置,只要窗口不關閉,這些設置就會一直存在。而 shell 腳本中的變量設置,則會在登錄會話之間保持不變。

Windows:在終端窗口中輸入以下命令:

set HTTP_PROXY=myserver:1981

 

或者,通過 Windows 界面將該命令行添加到 shell 腳本中。如需瞭解具體操作方法,請查看您的 Windows 版本所適用的文檔。

Mac 和 Linux:在終端窗口中輸入以下命令:

export HTTP_PROXY=myserver:1981

 

或者,將該命令行添加到 ~/.bash_profile 文件中,並對該文件執行 source 命令,如下所示:

export HTTP_PROXY=myserver:1981

 

$ source ~/.bash_profile

 

Was this page helpful?

Content and code samples on this page are subject to the licenses described in the Content License. Java is a registered trademark of Oracle and/or its affiliates.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章