Android 命令行工具简介

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。
专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。

目录

  • 一、导读
  • 二、概览
  • 三、相关工具
    • 3.1 Android SDK 命令行工具
    • 3.2 Android SDK 构建工具
    • 3.3 Android SDK 平台工具
    • 3.4 Android 模拟器
  • 四、 推荐阅读

在这里插入图片描述

一、导读

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

本文简单介绍 Android 命令行工具。

二、概览

Android SDK 中包含了开发应用所需的多个软件包。本页列出了可供使用的最重要的命令行工具(按提供这些工具的软件包整理)。

可以使用 Android Studio 的 SDK 管理器或 sdkmanager 命令行工具来安装和更新每个软件包。
所有软件包都会下载到 Android SDK 目录中,您可以按以下方式找到此目录:

  1. 在 Android Studio 中,依次点击 File > Project Structure。
  2. 在左窗格中,选择 SDK Location。该路径即显示在 Android SDK location 下。
  • 设置环境变量
    我们建议您在使用命令行时为 ANDROID_HOME 设置环境变量。
    此外,请设置命令搜索路径以加入 ANDROID_HOME/tools、ANDROID_HOME/tools/bin 和 ANDROID_HOME/platform-tools,
    查找最常见的工具。具体步骤因所用操作系统而异,但如需查看一般指导信息,请参阅如何设置环境变量。

https://developer.android.google.cn/studio/command-line?hl=zh-cn#tools-sdk

三、相关工具

3.1 Android SDK 命令行工具


位置:android_sdk/cmdline-tools/version/bin/
注意:Android SDK 命令行工具软件包(位于 cmdline-tools)取代了 SDK 工具软件包(位于 tools)。
使用新软件包时,您可以选择要安装版本的命令行工具,还可以一次安装多个版本。使用旧软件包时,您只能安装最新版本的工具。
因此,新软件包可让您在发布新版本时依赖于特定版本的命令行工具,而不会造成代码中断。如需了解已废弃的 SDK 工具软件包,请参阅 SDK 工具版本说明。

如果您不使用 Android Studio,可以在此处下载命令行工具软件包。

  • apkanalyzer
    用于在构建流程完成后深入分析您的 APK 组成。
  • avdmanager
    用于从命令行创建和管理 Android 虚拟设备 (AVD)。
  • lint
    用于扫描代码,可帮助您识别和纠正代码结构质量方面的问题。
  • retrace
    对于由 R8 编译的应用,retrace 会解码经过混淆处理的堆栈轨迹,该堆栈轨迹会映射回您的原始源代码。
  • sdkmanager
    用于查看、安装、更新和卸载 Android SDK 的软件包。

3.2 Android SDK 构建工具

位于以下位置:android_sdk/build-tools/version/
如需了解详情,请参阅 SDK 构建工具版本说明。

此软件包对于构建 Android 应用是必要的。此软件包中的大多数工具都由构建工具调用,而非供您使用。不过,以下命令行工具可能很有用:

  • AAPT2
    解析 Android 资源,为其编制索引,然后将其编译为针对 Android 平台优化过的二进制格式,最后将编译后的资源打包到单个输出中。
  • apksigner
    为 APK 签名,并检查签名能否在给定 APK 支持的所有平台版本上成功通过验证。
  • zipalign
    确保所有未压缩数据的开头均相对于文件开头部分执行特定的对齐,从而优化 APK 文件。

3.3 Android SDK 平台工具

位于以下位置:android_sdk/platform-tools/
如需了解详情,请参阅 SDK 平台工具版本说明。

在 Android 平台推出每个新版本时,这些工具也会相应地更新以支持新功能,修复工具存在的问题或改进工具,并且每次更新都向后兼容更早的平台版本。

除了从 SDK 管理器下载,您还可以在此处下载 SDK 平台工具。

  • adb
    Android 调试桥 (adb) 是一种多功能的工具,您可以用它来管理模拟器实例或 Android 设备的状态。还可以使用它在设备上安装 APK。
  • etc1tool
    一种命令行实用程序,您可以使用该工具将 PNG 图片编码为 ETC1 压缩标准格式,并将 ETC1 压缩图片解码回 PNG。
  • fastboot
    将平台或其他系统映像刷写到设备上。如需了解刷写说明,请参阅适用于 Nexus 和 Pixel 设备的出厂映像。
  • logcat
    可通过 adb 调用,用于查看应用和系统日志。

3.4 Android 模拟器

位于以下位置:android_sdk/emulator/
如需了解详情,请参阅 Android 模拟器版本说明。

使用 Android 模拟器时需要使用此软件包。此软件包包含以下工具:

  • emulator
    基于 QEMU 的设备模拟工具,可用于在实际的 Android 运行时环境中调试和测试应用。
  • mksdcard
    可帮助您创建可与模拟器一起使用的磁盘映像,以模拟存在外部存储卡(例如 SD 卡)的情形。

四、 推荐阅读

Java 专栏

SQL 专栏

数据结构与算法

Android学习专栏

ddd

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端开发网站推荐

每个人都会遇见那么一个人,永远无法忘却,也永远不能拥有。 以下是一些可以用来查找和比较前端框架的推荐网站: JavaScript框架比较: 这些网站提供了对不同JavaScript框架和库的详细比较和评估。 JavaScripting: 提供了大量的JavaS…

MySQL的内置函数

文章目录 1. 聚合函数2. group by子句的使用3. 日期函数4. 字符串函5. 数学函数6. 其它函数 1. 聚合函数 COUNT([DISTINCT] expr) 返回查询到的数据的数量 用SELECT COUNT(*) FROM students或者SELECT COUNT(1) FROM students也能查询总个数。 统计本次考试的数学成绩分数去…

Java集成Onlyoffice以及安装和使用示例,轻松实现word、ppt、excel在线编辑功能协同操作,Docker安装Onlyoffice

安装Onlyoffice 拉取onlyoffice镜像 docker pull onlyoffice/documentserver 查看镜像是否下载完成 docker images 启动onlyoffice 以下是将本机的9001端口映射到docker的80端口上,访问时通过服务器ip:9001访问,并且用 -v 将本机机/data/a…

vue造轮子完整指南--npm组件包开发步骤

一、项目包文件的创建和初始化。 1. 新建项目包。 vue create <Project Name> //用于发布npm包的项目文件名 ps:一般选择自定义&#xff0c;然后不需要Vuex和Router&#xff0c;其他选项按自己实际情况选择安装即可。 2.修改原始src文件名、新增组件项目存放文件和修改…

【vue3】Suspense组件和动态引入defineAsyncComponent的搭配使用

假期第五篇&#xff0c;对于基础的知识点&#xff0c;我感觉自己还是很薄弱的。 趁着假期&#xff0c;再去复习一遍 在app中定义子组件child //静态引入&#xff0c;网速慢的时候&#xff0c;父子组件也是同时渲染出来 <template><div><h3>APP父组件</…

【Python】返回指定时间对应的时间戳

使用模块datetime&#xff0c;附赠一个没啥用的“时间推算”功能(获取n天后对应的时间 代码&#xff1a; import datetimedef GetTimestamp(year,month,day,hour,minute,second,*,relativeNone,timezoneNone):#返回指定时间戳。指定relative时进行时间推算"""根…

【C++进阶】二叉搜索树

&#x1f680;write in front&#x1f680; &#x1f4dc;所属专栏&#xff1a; C学习 &#x1f6f0;️博客主页&#xff1a;睿睿的博客主页 &#x1f6f0;️代码仓库&#xff1a;&#x1f389;VS2022_C语言仓库 &#x1f3a1;您的点赞、关注、收藏、评论&#xff0c;是对我最大…

Android自动化测试之MonkeyRunner--从环境构建、参数讲解、脚本制作到实战技巧

monkeyrunner 概述、环境搭建 monkeyrunner环境搭建 (1) JDK的安装不配置 http://www.oracle.com/technetwork/java/javase/downloads/index.html (2) 安装Python编译器 https://www.python.org/download/ (3) 设置环境变量(配置Monkeyrunner工具至path目彔下也可丌配置) (4) …

【人工智能导论】线性回归模型

一、线性回归模型概述 线性回归是利用函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。简单来说&#xff0c;就是试图找到自变量与因变量之间的关系。 二、线性回归案例&#xff1a;房价预测 1、案例分析 问题&#xff1a;现在要预测140平方的房屋的价格&…

嵌入式Linux应用开发-基础知识-第十八章系统对中断的处理③

嵌入式Linux应用开发-基础知识-第十八章系统对中断的处理③ 第十八章 Linux系统对中断的处理 ③18.5 编写使用中断的按键驱动程序 ③18.5.1 编程思路18.5.1.1 设备树相关18.5.1.2 驱动代码相关 18.5.2 先编写驱动程序18.5.2.1 从设备树获得 GPIO18.5.2.2 从 GPIO获得中断号18.5…

Redis Cluster集群运维与核心原理剖析

文章目录 Redis集群方案比较哨兵模式高可用集群模式 Redis高可用集群搭建Java操作redis集群Redis集群原理分析槽位定位算法跳转重定位Redis集群节点间的通信机制集中式gossipgossip通信的10000端口 网络抖动Redis集群选举原理分析集群脑裂数据丢失问题集群是否完整才能对外提供…

Node18.x基础使用总结(二)

Node18.x基础使用总结 1、Node.js模块化1.1、模块暴露数据1.2、引入模块 2、包管理工具2.1、npm2.2、npm的安装2.3、npm基本使用2.4、搜索包2.5、下载安装包2.6、生产环境与开发环境2.7、生产依赖与开发依赖2.8、全局安装2.9、修改windows执行策略2.10、安装包依赖2.11、安装指…

深入了解 Linux 中的 AWK 命令:文本处理的瑞士军刀

简介 在Linux和Unix操作系统中&#xff0c;文本处理是一个常见的任务。AWK命令是一个强大的文本处理工具&#xff0c;专门进行文本截取和分析&#xff0c;它允许你在文本文件中查找、过滤、处理和格式化数据。本文将深入介绍Linux中的AWK命令&#xff0c;让你了解其基本用法和…

【多线程进阶】常见的锁策略

文章目录 前言1. 乐观锁 vs 悲观锁2. 轻量级锁 vs 重量级锁3. 自旋锁 vs 挂起等待锁4. 读写锁 vs 互斥锁5. 公平锁 vs 非公平锁6. 可重入锁 vs 不可重入锁总结 前言 本章节所讲解的锁策略不仅仅是局限于 Java . 任何和 “锁” 相关的话题, 都可能会涉及到以下内容. 这些特性主…

如何初始化一个vue项目

如何初始化一个vue项目 安装 vue-cli 后 ,终端执行 vue ui npm install vue-cli --save-devCLI 服务 | Vue CLI (vuejs.org) 等一段时间后 。。。 进入项目仪表盘 设置其他模块 项目构建后目录 vue.config.js 文件相关配置 官方vue.config.js 参考文档 https://cli.vuejs.o…

Linux基础指令(六)

目录 前言1. man 指令2. date 指令3. cal 指令4. bc 指令5. uname 指令结语&#xff1a; 前言 欢迎各位伙伴来到学习 Linux 指令的 第六天&#xff01;&#xff01;&#xff01; 在上一篇文章 Linux基本指令(五) 中&#xff0c;我们通过一段故事线&#xff0c;带大家感性的了…

BI神器Power Query(26)-- 使用PQ实现表格多列转换(2/3)

实例需求&#xff1a;原始表格包含多列属性数据,现在需要将不同属性分列展示在不同的行中&#xff0c;att1、att3、att5为一组&#xff0c;att2、att3、att6为另一组&#xff0c;数据如下所示。 更新表格数据 原始数据表&#xff1a; Col1Col2Att1Att2Att3Att4Att5Att6AAADD…

通过containerd部署k8s集群环境及初始化时部分报错解决

目录 一.基础环境配置&#xff08;每个节点都做&#xff09; 1.hosts解析 2.防火墙和selinux 3.安装基本软件并配置时间同步 4.禁用swap分区 5.更改内核参数 6.配置ipvs 7.k8s下载 &#xff08;1&#xff09;配置镜像下载相关软件 &#xff08;2&#xff09;配置kube…

8.3Jmeter使用json提取器提取数组值并循环(循环控制器)遍历使用

Jmeter使用json提取器提取数组值并循环遍历使用 响应返回值例如&#xff1a; {"code":0,"data":{"totalCount":11,"pageSize":100,"totalPage":1,"currPage":1,"list":[{"structuredId":&q…

nodejs+vue健身服务应用elementui

第三章 系统分析 10 3.1需求分析 10 3.2可行性分析 10 3.2.1技术可行性&#xff1a;技术背景 10 3.2.2经济可行性 11 3.2.3操作可行性&#xff1a; 11 3.3性能分析 11 3.4系统操作流程 12 3.4.1管理员登录流程 12 3.4.2信息添加流程 12 3.4.3信息删除流程 13 第四章 系统设计与…