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

sdkmanager

sdkmanager 是一个命令行工具,可让您查看、安装、更新和卸载 Android SDK 的软件包。如果您使用 Android Studio,则无需使用此工具,而可以从 IDE 管理 SDK 软件包

sdkmanager 工具在 Android SDK Tools 软件包(25.2.3 及更高版本)中提供,并位于 android_sdk/tools/bin/ 目录下。

用法

您可以使用 sdkmanager 执行以下任务。

列出已安装和可用的软件包

    sdkmanager --list [options]
    

安装软件包

    sdkmanager packages [options]
    

packages 参数是 --list 命令列出的 SDK 样式的路径,这些路径括在引号中,如 "build-tools;29.0.0""platforms;android-28"。您可以传递多个软件包路径(用空格分隔),但各个路径必须括在各自的一组引号中。

例如,下面展示了如何安装最新的平台工具(包括 adbfastboot)以及适用于 API 级别 28 的 SDK 工具:

sdkmanager "platform-tools" "platforms;android-28"
    

或者,您也可以传递指定所有软件包的文本文件:

    sdkmanager --package_file=package_file [options]
    

package_file 参数指定了文本文件所在的位置,该文件中的每一行都代表要安装的软件包的 SDK 样式路径(不带引号)。

要卸载软件包,只需添加 --uninstall 标记:

    sdkmanager --uninstall packages [options]
    sdkmanager --uninstall --package_file=package_file [options]
    

更新所有已安装的软件包

    sdkmanager --update [options]
    

选项

下表列出了上述命令的可用选项。

选项 说明
--sdk_root=path 使用指定的 SDK 路径而不是包含此工具的 SDK
--channel=channel_id 在通道(最多 channel_id 个)中添加软件包。可用的通道包括:

0(稳定)、1(测试版)、2(开发版)和 3(Canary 版)。

--include_obsolete 在软件包列表或软件包更新中添加过时的软件包。仅适用于 --list--update 命令。
--no_https 强制所有连接使用 HTTP 而不是 HTTPS。
--verbose 详细输出模式。该模式会输出错误、警告和参考性消息。
--proxy={http | socks} 通过给定类型的代理建立连接:表示高级协议(如 HTTP 或 FTP)的 http 代理,或者表示 SOCKS(V4 或 V5)的 socks 代理。
--proxy_host={IP_address | DNS_address} 要使用的代理的 IP 或 DNS 地址。
--proxy_port=port_number 要连接到的代理端口号。