Android 命令行工具简介

news2025/4/7 7:57:39

关于作者: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.coloradmin.cn/o/1055321.html

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

相关文章

TempleteMethod

TempleteMethod 动机 在软件构建过程中,对于某一项任务,它常常有稳定的整体操作结构,但各个子步骤却有很多改变的需求,或者由于固有的原因 (比如框架与应用之间的关系)而无法和任务的整体结构同时实现。如…

数据结构学习笔记(基础)

绪论 数据结构三要素(数据的基本单位是数据元素,数据元素可由若干个数据项组成,一个数据项是构成数据元素的不可分割的最小单位) 数据:指的是能被计算机识别、存储和加工处理的信息载体(如 Word 文档&#…

【设计模式_实验①_第六题】设计模式——接口的实验模拟应用实验作业一

【实验要求】 货车要装载一批货物,货物由三种商品组成:电视、计算机和洗衣机。卡车需要计算出整批货物的重量。 【实验步骤】UML 过程 在这里插入代码片 public interface ComputerWeight {public abstract double computerWeight(); }public class T…

GD32 看门狗

1. 看门狗的概念 2. 独立看门狗 独立看门狗的原理:设定一个重载值。赋值计数器。每来一个脉冲计数值减减。如果计数值减到0。还没有去喂狗就会产生复位。所以在计数值在0~重载值范围必须要喂一次狗。 在键值寄存器(IWDG_KR)中写入0xCCCC,开始启用独立看…

嵌入式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…

嵌入式Linux应用开发-基础知识-第十九章驱动程序基石①

嵌入式Linux应用开发-基础知识-第十九章驱动程序基石① 第十九章 驱动程序基石①19.1 休眠与唤醒19.1.1 适用场景19.1.2 内核函数19.1.2.1 休眠函数19.1.2.2 唤醒函数 19.1.3 驱动框架19.1.4 编程19.1.4.1 驱动程序关键代码19.1.4.2 应用程序 19.1.5 上机实验19.1.6 使用环形缓…

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) …

【C语言经典100例题-66】(用指针解决)输入3个数a,b,c,按大小顺序输出。

代码&#xff1a; #include<stdio.h> #define _CRT_SECURE_NO_WARNINGS 1//VS编译器使用scanf函数时会报错&#xff0c;所以添加宏定义 swap(p1, p2) int* p1, * p2; {int p;p *p1;*p1 *p2;*p2 p; } int main() {int n1, n2, n3;int* pointer1, * pointer2, * point…

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

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

【单片机】14-I2C通信之EEPROM

1.EEPROM概念 1.EEPROM 1.1 一些概念 &#xff08;1&#xff09;一些概念&#xff1a;ROM【只读存储器---硬盘】&#xff0c;RAM【随机访问存储器--内存】&#xff0c;PROM【可编程的ROM】&#xff0c;EPROM【可擦除ROM】&#xff0c;EEPROM【电可擦除ROM】 1.2 为什么需要EE…

Ps:移动工具

移动工具 Move Tool是 Ps 最常用的工具之一。使用移动工具&#xff0c;不仅可以移动、复制对象&#xff0c;还可以对多个图层进行对齐、分布等操作。 快捷键&#xff1a;V 使用快捷键改变图层不透明度或者选择图层混合模式时&#xff0c;也建议先切换到移动工具状态。 ◆ ◆ …

CS SD NAND在STM32精英V2开发板的测试-是时候将TF卡换为SD NAND了

前言 嵌入式项目中,比较常见的存储扩展方案是使用TF/SD卡或者EMMC或者RAW NAND,各种方案都有其优缺点,而SD NAND相对于上述方案具备很多优势,是目前嵌入式项目中存储扩展方案的一个非常不错的选择,正好一个项目在选择NAND存储方案, 恰巧论坛中联系到雷龙公司申请到了两片SD NAN…

LCD 的RGB接口(SYNC Mode/ SYNC-DE Mode/ DE Mode)

1、 SYNC Mode Timing Diagram 2、 SYNC-DE Mode Timing Diagram 3、 DE Mode Timing Diagram RGB接口&#xff08;SYNC Mode/ SYNC-DE Mode/ DE Mode&#xff09;-CSDN博客

【复盘】记录一次锁库的生产故障

java.sql.SQLException: The MySQL server is running with the LOCK_WRITE_GROWTH option so it cannot execute this statement在国庆期间晚上突然收到系统报警&#xff0c;然后查看日志发现是数据库磁盘满了之后触发了&#xff0c;禁止写操作&#xff0c;删除数据都不可以。…

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、安装指…

架构师习题--嵌入式习题

架构师习题--嵌入式习题 可靠度&#xff1a;是单个系统的可靠性 避错和容错 N版本程序设计是静态 恢复块是动态 恢复块是主机坏了调用备用机&#xff0c;每次只有单机运行 N版本是N机器同时运行 恢复块是主机坏了调用备用机&#xff0c;后向恢复到之前的状态 N版主直接向前走

【深度学习】RNN循环神经网络和LSTM深度学习模型

1. 循环神经网络 RNN&#xff08; Recurrent Neural Network&#xff09; 循环神经网络的一个核心是可以把前面的序列数据用到后面的结果预测里面。怎么样实现这一点呢。RNN 结构如下图所示。 前部序列的信息经处理后&#xff0c;作为输入信息传递到后部序列。 数学模型&…

C++ 强制类型转换(int double)、查看数据类型、自动决定类型、三元表达式、取反、

强制类型转换&#xff08; int 与 double&#xff09; #include <iostream> using namespace std;int main() {// 数据类型转换char c1;short s1;int n 1;long l 1;float f 1;double d 1;int p 0;int cc (int)c;// 注意&#xff1a;字符 转 整形时 是有问题的// “…

CTFSHOW SSTI

目录 web361 【无过滤】 subprocess.Popen os._wrap_close url_for lipsum cycler web362 【过滤数字】 第一个通过 计算长度来实现 第二个使用脚本输出另一个数字来绕过 使用没有数字的payload web363 【过滤引号】 使用getitem 自定义变量 web364 【过…

深度学习 二:COVID 19 Cases Prediction (Regression)

Deep Learning 1. 回归算法思路2. 代码2.1 基础操作2.2 定义相关函数2.3.1 定义图像绘制函数2.3.2 数据集加载及预处理2.3.3 构造数据加载器2.3.4 构建前馈神经网络&#xff08;Feedforward Neural Network&#xff09;模型2.3.5 神经网络的训练过程2.3.6 模型评估2.3.7 模型测…