Android SdkManager简介

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。

专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。

目录

  • 一、导读
  • 二、概览
  • [三、 安装使用](#三、 安装使用)
    • [3.1 安装](#3.1 安装)
    • [3.2 使用](#3.2 使用)
    • [3.3 选项](#3.3 选项)
  • [四、 推荐阅读](#四、 推荐阅读)

一、导读

我们继续总结学习** 基础知识**,温故知新。

本文讲述SdkManager

二、概览

sdkmanager 是一个命令行工具,可以用来查看、安装、更新和卸载 Android SDK 的软件包。

如果使用 Android Studio,则无需使用此工具,而可以从 IDE 管理 SDK 软件包。

三、 安装使用

3.1 安装

如需使用 SDK 管理器安装某个版本的命令行工具,请按以下步骤操作:

  1. 从 Android Studio 下载页面中下载最新的"command line tools only"软件包,然后将其解压缩。
  2. 将解压缩的 cmdline-tools 目录移至 Android SDK 目录。
  3. 在解压缩的 cmdline-tools 目录中,创建一个名为 latest 的子目录。
  4. 将原始 cmdline-tools 目录内容(包括 lib 目录、bin 目录、NOTICE.txt 文件和 source.properties 文件)移动到新创建的 latest 目录中。
  5. (可选)如需安装旧版命令行工具,请运行以下命令:
java 复制代码
android sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;version"

将 version 替换为要安装的版本,例如 5.0。

3.2 使用

可以使用 sdkmanager 列出已安装软件包和可用软件包、安装软件包以及更新软件包。

  • 列出已安装和可用的软件包
    如需列出已安装和可用的软件包,请使用以下语法:
java 复制代码
sdkmanager --list [options] \
           [--channel=channel_id] // Channels: 0 (stable), 1 (beta), 2 (dev), or 3 (canary)

使用 channel 选项,纳入从某个渠道到 channel_id(含)的软件包。例如,指定 Canary 版渠道以列出所有渠道的软件包。

  • 安装软件包
    如需安装软件包,请使用以下语法:
java 复制代码
sdkmanager packages [options]

packages 参数是 --list 命令列出的 SDK 样式路径,该路径括在引号中。例如,"build-tools;33.0.1" 或 "platforms;android-33"。

可以传递多个软件包路径(用空格分隔),但各个路径必须括在各自的一组引号中。例如,下面展示了如何安装最新的平台工具以及适用于 API 级别 33 的 SDK 工具:

java 复制代码
sdkmanager "platform-tools" "platforms;android-33"

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

java 复制代码
sdkmanager --package_file=package_file [options]

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

如需卸载,请添加 --uninstall 标记:

java 复制代码
sdkmanager --uninstall packages [options]
sdkmanager --uninstall --package_file=package_file [options]

如需安装 CMake 或 NDK,请使用以下语法:

java 复制代码
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 版本(无论其当前位于哪个渠道):

java 复制代码
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
  • 更新所有已安装的软件包
java 复制代码
sdkmanager --update [options]
  • 接受许可
    必须为已安装的每个软件包接受必要的许可。当您通过 Android Studio 安装软件包时,就需要在安装过程中完成此步骤。

如果您未安装 Android Studio,或者它适用于 CI 服务器或其他未安装 GUI 的无头 Linux 设备,请在命令行中运行以下命令:

java 复制代码
sdkmanager --licenses

系统会提示您接受所有尚未接受的许可。

3.3 选项

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

选项 说明
--sdk_root=path 使用指定的 SDK 路径,而不是包含此工具的 SDK。
--channel=channel_id 纳入到 channel_id(含)的渠道中的软件包。可用的渠道包括:0(稳定版)、1(Beta 版)、2(开发版)和 3(Canary 版)。
--include_obsolete 在列出或更新软件包时纳入已过时的软件包。 仅适用于 --list 和 --update。
--no_https 强制所有连接使用 HTTP 而不是 HTTPS。
--newer 使用 --list 时,仅显示新的或可更新的软件包。
--verbose 详细输出模式。该模式会输出错误、警告和参考性消息。
--proxy={http socks}
--proxy_host={IP_address DNS_address}
--proxy_port=port_number 要连接到的代理端口号。

参考
官网

四、 推荐阅读

Java 专栏

SQL 专栏

数据结构与算法

Android学习专栏

未经允许不得转载。

相关推荐
watl013 分钟前
【Android】unzip aar删除冲突classes再zip
android·linux·运维
键盘上的蚂蚁-16 分钟前
PHP爬虫类的并发与多线程处理技巧
android
喜欢猪猪1 小时前
Java技术专家视角解读:SQL优化与批处理在大数据处理中的应用及原理
android·python·adb
小k_不小2 小时前
C++面试八股文:指针与引用的区别
c++·面试
JasonYin~3 小时前
HarmonyOS NEXT 实战之元服务:静态案例效果---手机查看电量
android·华为·harmonyos
zhangphil3 小时前
Android adb查看某个进程的总线程数
android·adb
抛空3 小时前
Android14 - SystemServer进程的启动与工作流程分析
android
Gerry_Liang5 小时前
记一次 Android 高内存排查
android·性能优化·内存泄露·mat
天天打码6 小时前
ThinkPHP项目如何关闭runtime下Log日志文件记录
android·java·javascript
上海运维Q先生7 小时前
面试题整理13----deployment和statefulset区别
运维·面试·kubernetes