sdkmanager通过收藏整理内容根据您的偏好保存并分类内容。

admin 4592次浏览

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

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

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。

注意:对于本地使用,您可以使用 latest 软件包。对于脚本,请选择特定版本以确保稳定性。

用法

您可以使用 sdkmanager 列出已安装和可用的软件包、安装软件包以及更新软件包。有关更多详细信息,请参阅以下部分。

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

要列出已安装和可用的软件包,请使用以下语法:

sdkmanager --list [options] \

[--channel=channel_id] // Channels: 0 (stable), 1 (beta), 2 (dev), or 3 (canary)

使用 channel 选项可包含来自指定通道(含)之前所有通道的软件包。例如,指定 Canary 通道以列出所有通道的软件包。

注意: 要仅列出稳定软件包,请使用 --channel=0 或完全移除 --channel 选项。

安装软件包

要安装软件包,请使用以下语法:

sdkmanager packages [options]

packages 参数是一个 SDK 样式路径,如 --list 命令所示,并用引号引起来。例如,"build-tools;34.0.0" 或 "platforms;android-33"。

您可以传递多个软件包路径,用空格分隔,但每个路径都必须用自己的引号括起来。例如,以下是如何安装最新平台工具和 API 级别 33 的 SDK 工具:

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

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

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,或者它适用于未安装 GUI 的 CI 服务器或其他无头 Linux 设备,请从命令行执行以下操作:

sdkmanager --licenses

这会提示您接受尚未接受的任何许可。

选项

下表列出了上一节中命令的可用选项:

选项

说明

--sdk_root=path

使用指定的 SDK 路径,而不是包含此工具的 SDK。

--channel=channel_id

包含指定通道(含)之前所有通道的软件包。可用通道包括:

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

--include_obsolete

在软件包列表或软件包更新中包含已废弃的软件包。仅与 --list 和 --update 结合使用。

--no_https

强制所有连接使用 HTTP 而不是 HTTPS。

--newer

与 --list 结合使用时,仅显示新的或可更新的软件包。

--verbose

详细输出模式。将打印错误、警告和信息性消息。

--proxy={http | socks}

通过给定类型的代理连接:http 用于 HTTP 或 FTP 等高级协议,socks 用于 SOCKS (V4 或 V5) 代理。

--proxy_host={IP_address | DNS_address}

要使用的代理的 IP 或 DNS 地址。

--proxy_port=port_number

要连接的代理端口号。

注意: 如果您想为与当前机器不同的操作系统安装软件包,请将 REPO_OS_OVERRIDE 环境变量设置为 "windows"、"macosx" 或 "linux"。

相关文章
友情链接