Android 开发中的sdkmanager 操作说明(Delphi适用)

news2024/9/20 20:31:08

目录

sdkmanager 说明:

用法:

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

安装软件包

更新所有已安装的软件包

接受许可

选项


sdkmanager 说明:

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

sdkmanager 工具在 Android SDK 命令行工具软件包中提供。如需使用 SDK 管理器安装某个版本的命令行工具,请按以下步骤操作:

  1. 从 Android Studio 下载页面中下载最新的“command line tools only”软件包,然后将其解压缩。
  2. 将解压缩的 cmdline-tools 目录移至您选择的新目录,例如 android_sdk。这个新目录就是您的 Android SDK 目录。
  3. 在解压缩的 cmdline-tools 目录中,创建一个名为 latest 的子目录。
  4. 将原始 cmdline-tools 目录内容(包括 lib 目录、bin 目录、NOTICE.txt 文件和 source.properties 文件)移动到新创建的 latest 目录中。现在,您就可以从这个位置使用命令行工具了。
  5. (可选)如需安装旧版命令行工具,请运行以下命令:

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 选项,纳入从某个渠道到 channel_id(含)的软件包。例如,指定 Canary 版渠道以列出所有渠道的软件包。

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

安装软件包

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

sdkmanager packages [options]

packages 参数是 --list 命令列出的 SDK 样式路径,该路径括在引号中。例如,"build-tools;33.0.1" 或 "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,或者它适用于 CI 服务器或其他未安装 GUI 的无头 Linux 设备,请在命令行中运行以下命令:

sdkmanager --licenses

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

选项

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

选项说明
--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}通过给定类型的代理建立连接:用 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"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/948430.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端文件、图片直传OOS、分片上传、el-upload上传(vue+elementUI)

前言:基于天翼云的面相对象存储(Object-Oriented Storage,OOS),实现小文件的直接上传,大文件的分片上传。 开发文档地址:网址 上传之前的相关操作:注册账户,创建 AccessKeyId 和 AccessSecretKey之后&…

Private market:借助ZK实现的任意计算的trustless交易

1. 引言 Private market,借助zk-SNARKs和以太坊来 隐私且trustlessly selling: 1)以太坊地址的私钥(ECDSA keypair)2)EdDSA签名3)Groth16 proof:借助递归性来匿名交易Groth16 proo…

RTK和CORS有什么区别?

高精度定位技术 关于高精度定位技术,RTK为业界熟知且被广泛应用,那么RTK到底是什么?仅仅是差分GPS吗? 其实并不尽然。 RTK RTK,载波相位差分技术,是实时处理两个测站载波相位观测量的差分方法&#xff0…

什么是OLAP

一、什么是OLAP OLAP(On-line Analytical Processing,联机分析处理)是在基于数据仓库多维模型的基础上实现的面向分析的各类操作的集合。可以比较下其与传统的OLTP(On-line Transaction Processing,联机事务处理&…

分布式集群框架——Google文件系统GFS

Google文件系统GFS Google文件系统(Google File System,GFS)是一个大型的分布式文件系统。它为Google云计算提供海量存储,并且与Chubby、MapReduce以及Bigtable等技术结合十分紧密,处于所有核心技术的底层。由于GFS并不…

TDesign表单rules通过函数 实现复杂逻辑验证输入内容

Element ui 中 我们可以通过validator 绑定函数来验证一些不在表单model中的值 又或者处理一下比较复杂的判断逻辑 TDesign也有validator 但比较直观的说 没有Element那么好用 这里 我们给validator绑定了我们自己的checkAge函数 这个函数中 只有一个参数 value 而且 如果你的…

ssm计算机网络课程试卷生成器系统源码

ssm计算机网络课程试卷生成器系统源码099 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm package com.controller;import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays;…

spring cloud、gradle、父子项目、微服务框架搭建---spring secuity oauth2、mysql 授权(九)

文章目录 一、二、授权服务2.1 初始化表结构2.2 引入依赖2.3 自定义 用户详情类 UserDetailsService2.4 授权配置 AuthorizationServerConfiguration2.5 Web安全配置 WebSecurityConfiguration2.6 默认生成接口 三、资源服务3.1 引入依赖3.2 资源服务 ResourceServerConfig 四、…

2023年DAMA-CDGA/CDGP数据治理认证线上班到这里

DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业…

探讨三维模型OBJ格式轻量化在数据存储的重要性

探讨三维模型OBJ格式轻量化在数据存储的重要性 三维模型的OBJ格式轻量化在数据存储方面具有重要性。以下是对三维模型OBJ格式轻量化在数据存储的重要性进行浅析: 1、节省存储空间:原始的三维模型文件往往非常庞大,占据大量的存储空间。通过进…

亚马逊产品流量来源?产品流量如何增加?

"亚马逊产品流量"通常指的是在亚马逊平台上的商品页面上产生的访问量或点击量。这是衡量产品在亚马逊上的曝光和受关注程度的重要指标之一。产品流量的多少可以影响销售和排名等方面。 亚马逊产品流量的来源可以有多种,包括: 1、有机流量&…

基于python的豆瓣电影数据分析可视化系统(包含文档+源码)

本系统采用Python技术和Django 搭建系统框架,后台使用MySQL数据库进行信息管理,设计开发基于python的豆瓣电影数据分析可视化系统。通过调研和分析,系统拥有管理员和用户两个角色,主要具备个人中心、电影管理、用户管理、系统管理…

基于Spring Boot的高校学生党校系统设计与实现(Java+spring boot+MySQL)

获取源码或者论文请私信博主 演示视频: 基于Spring Boot的高校学生党校系统设计与实现(Javaspring bootMySQL) 使用技术: 前端:html css javascript jQuery ajax thymeleaf 微信小程序 后端:Java spring…

DC电源模块在仪器设备中使用的突出表现

BOSHIDA DC电源模块在仪器设备中使用的突出表现 DC电源模块是一种广泛应用于各种电子设备中的电源设备,它的最显著特点就是可以将电源直接转换为直流电,而且可以根据需要进行稳定地输出,这使得它在很多领域都有着广泛的应用。 在仪器设备中…

Android Native Code开发学习(二)JNI互相传参返回调用

Android Native Code开发学习(二) 本教程为native code学习笔记,希望能够帮到有需要的人 我的电脑系统为ubuntu 22.04,当然windows也是可以的,区别不大 一、native code介绍 native code就是在android项目中混合C或…

网银U盾插拔烦,试试USB Serve解决方案

公司网银U盾太多,每次办理网银业务都要不停插拔,效率低,管理难,怎么办? 交给USB Sever管理就行了! 第一步 根据你需要的USB端口, 选择适合你的朝天椒USB Sever, 把网银U盾都插上去…

“Ahuja”补偿

自1968年Fairchild引入uA741以来,Miller补偿已被广泛用于集成运算放大器和相关电路的频率补偿。R.Read和J.Wieser早在1982年就提出了另一种补偿形式[1][2]。 尽管如此,它还是花了一段时间才被业界和学术界所接受,随着它在米勒补偿方面的一些…

Python数学建模1-模拟人类一生中会认识多少人的模型统计与分析

大家好,我是微学AI,今天给大家带来Python数学建模1-模拟人类一生中会认识多少人的模型统计与分析。你有没有统计过从出生到现在你接触过多少人了,你认识了多少人了,可能你只是认识,但是现在基本不联系了,可…

ZooKeeper的典型应用场景及实现

文章目录 1、典型应用场景及实现1.1、 数据发布/订阅1.1.1、配置管理案列 1.2、负载均衡1.3、命名服务1.4、分布式协调/通知1.4.1、一种通用的分布式系统机器间通信方式 1.5、集群管理1.6、Master选举1.7、分布式锁1.7.1、排他锁1.7.2、共享锁 1.8、分布式队列 2、ZooKeeper在大…

【LeetCode每日一题】——274.H指数

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 排序 二【题目难度】 中等 三【题目编号】 274.H指数 四【题目描述】 给你一个整数数组 ci…