sdkmanager 是一項指令列工具,可用於檢視、安裝、更新及解除安裝 Android SDK 的套件。如果您使用的是 Android Studio,則不需要這項工具,可以改為透過 IDE 管理 SDK 套件。
Android CLI
下載 Android CLI使用 Android CLI 管理 Android SDK 的套件
sdkmanager 工具已淘汰。
請改用 Android CLI android sdk 指令。android sdk [install|list|update|remove]sdkmanager 工具隨附於 Android SDK 指令列工具套件中。如要使用 SDK Manager 安裝某個版本的指令列工具,請按照下列步驟操作:
- 前往 Android Studio 頁面下載最新的指令列工具套件,然後解壓縮套件。
- 將解壓縮後的
cmdline-tools目錄移至您選擇的新目錄,如 android_sdk。這個新目錄就是您的 Android SDK 目錄。 - 在解壓縮的
cmdline-tools目錄中,建立名稱為latest的子目錄。 - 將原有的
cmdline-tools目錄內容 (包括lib目錄、bin目錄、NOTICE.txt檔和source.properties檔) 移至新建立的latest目錄。如此即可從這個位置使用指令列工具。 (選用) 如要安裝舊版指令列工具,請執行下列指令:
請將android_sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;version"
version替換成要安裝的版本,例如5.0。
用量
您可以使用 sdkmanager 列出已安裝和可用的套件、安裝套件及更新套件。詳情請參閱以下各節。
列出已安裝及可用套件
如要列出已安裝和可用的套件,請使用以下語法:
sdkmanager --list [options] \
[--channel=channel_id] // Channels: 0 (stable), 1 (beta), 2 (dev), or 3 (canary)
使用 channel 選項,即可從 channel_id 以下 (含) 的發布版本納入套件。例如,指定初期測試版本發布版本即可列出來自所有發布版本的套件。
安裝套件
如要安裝套件,請使用以下語法:
sdkmanager packages [options]
packages 引數是 SDK 樣式的路徑 (如 --list 指令所示),並用雙引號括住,例如 "build-tools;36.0.0" 或 "platforms;android-36"。
您可以傳遞多個套件路徑,但各個路徑須以空格分隔,且必須用雙引號括住。以下舉例說明如何安裝 API 級別 36 的最新平台工具和 SDK 工具:
sdkmanager "platform-tools" "platforms;android-36"
或者,您可以傳送一個能指定所有套件的文字檔:
sdkmanager --package_file=package_file [options]
package_file 引數指的是文字檔的位置,其中每一行都是一個安裝套件的 SDK 樣式路徑 (不含雙引號)。
如要解除安裝,請新增 --uninstall 標記:
sdkmanager --uninstall packages [options] sdkmanager --uninstall --package_file=package_file [options]
如要安裝 CMake 或 NDK,請使用下列語法:
sdkmanager --install ["ndk;major.minor.build[suffix]" | "cmake;major.minor.micro.build"] [--channel=channel_id] // NDK channels: 0 (stable), 1 (beta), or 3 (canary)
舉例來說,您可以使用以下指令安裝指定的 NDK 版本,無論其目前所屬發布版本為何。
sdkmanager --install "ndk;21.3.6528147" --channel=3 // Install the NDK from the canary channel (or below) sdkmanager --install "cmake;10.24988404" // Install a specific version of CMake
更新所有已安裝的套件
如要更新所有已安裝的套件,請使用以下語法:
sdkmanager --update [options]
接受授權
您必須為已安裝的每個套件接受必要的授權。您透過 Android Studio 安裝套件時,會需要在安裝過程中完成這個步驟。
如果您未安裝 Android Studio,或是將其用於持續整合 (CI) 伺服器或其他無頭 Linux 裝置 (未安裝 GUI),請透過指令列執行下列指令:
sdkmanager --licenses
這項指令會提示您接受尚未接受的任何授權。
選項
下表列出上一節列出的可用指令選項:
| 選項 | 說明 |
|---|---|
--sdk_root=path
|
使用指定的 SDK 路徑,而非包含這項工具的 SDK。 |
--channel=channel_id
|
納入 channel_id 以下 (含) 發布版本中的套件。可用的發布版本如下:
|
--include_obsolete
|
將過時套件納入套件清單或套件更新中。僅用於 --list 和 --update。 |
--no_https
|
強制所有連線使用 HTTP 而非 HTTPS。 |
--newer
|
使用 --list 時,只顯示新的或可更新的套件。 |
--verbose
|
詳細輸出模式。系統會列印出錯誤、警告和一些重要訊息。 |
--proxy={http | socks}
|
透過指定類型的代理伺服器進行連線:適用 HTTP 或 FTP 等高階通訊協定的 http,或用於 SOCKS (V4 或 V5) 代理伺服器的 socks。 |
--proxy_host={IP_address | DNS_address}
|
使用的代理 IP 或 DNS 位址。 |
--proxy_port=port_number
|
連線用的代理通訊埠編號。 |