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学习专栏

未经允许不得转载。

相关推荐
BoomHe18 小时前
Android AOSP13 原生 Launcher3 壁纸获取方式
android
风止何安啊19 小时前
为什么要有 TypeScript?让 JS 告别 “薛定谔的 Bug”
前端·javascript·面试
Digitally19 小时前
如何将联系人从 Android 转移到 Android
android
李小枫20 小时前
webflux接收application/x-www-form-urlencoded参数
android·java·开发语言
爱丽_20 小时前
MySQL `EXPLAIN`:看懂执行计划、判断索引是否生效与排错套路
android·数据库·mysql
NPE~20 小时前
[App逆向]环境搭建下篇 — — 逆向源码+hook实战
android·javascript·python·教程·逆向·hook·逆向分析
yewq-cn1 天前
AOSP 下载
android
cch89181 天前
Laravel vs ThinkPHP:PHP框架终极对决
android·php·laravel
米码收割机1 天前
【Android】基于安卓app的汽车租赁管理系统(源码+部署方式+论文)[独一无二]
android·汽车
张元清1 天前
不用 Server Components 也能做 React 流式 SSR —— 实战指南
前端·javascript·面试