一文搞懂如何学习Android内部命令行工具集合

news/2025/1/9 3:09:43/

目录

1.安卓命令工具集

2.命令如何使用(举例)

2.1 am命令使用

2.2 dumpsys 命令使用

2.3 wm命令用法

2.4 rm命令的用法

2.5 logcat 命令的用法

2.6 cat 命令的用法

3.个人如何学习

3.1 推荐学习方法一

3.2 方法二

1.安卓命令工具集

安卓支持的命令行工具在如下位置:

上述7步简单操作,其实我们就直接找到了安卓提供用户可用的命令工具集(这些命令集合可以理解为apk, 通过使用这些命令,不同模块可以依据特定apk来获取系统运行的各种状态信息)。有的解释为:这个目录下的文件都是系统的本地程序(可执行的命令工具),从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件。具体包含的常用命令工具列表如下:

 知道了以上命令工具的集合位置,最重要的就是如何使用这些工具,方便我们获取各种系统信息,以助力我们日常的测试工作。我标出了部分我用过的命令工具,其实不难看出,我们日常使用的命令本身就是上述工具的使用或者组合使用,只不过很多同学没有感觉到而已。

2.命令如何使用(举例)

2.1 am命令使用

am和pm这两个命令应该算是最复杂也是最常用的了.我们可以通过am启动页面,发送广播等,可以通过pm列出手机中的app,启用禁用app等。当然有一些是需要root权限的。举个例子:am命令,am指令是 activity manager的缩写,可以启动Service、Broadcast,杀进程,监控等功能,这些功能都非常便捷调试程序。可以通过adb shell 进入Android 的Linux命令界面,输入am -help查看详细命令,如下列出几个简单用法:

2.2 dumpsys 命令使用

dumpsys 的一般语法如下:

adb shell dumpsys [-t ] [--help | -l | --skip | [] | -c | -h]

要获取所连接设备的所有系统服务的诊断输出,只需运行

adb shell dumpsys

不过,这样输出的信息非常多。要使输出更加可控,可以通过在命令中添加相应服务来指定要检查的服务。例如,下面的命令会提供输入组件(如触摸屏或内置键盘)的系统数据:

adb shell dumpsys input

如需查看可与

dumpsys 配合使用的系统服务的完整列表,请使用以下命令:

adb shell dumpsys -l下表列出了使用 dumpsys 时的可用选项。

2.3 wm命令用法

wm是高通平台(MTK平台类似的命令为am)下对手机分辨率、像素密度、显示区域进行设置的命令。其参数比较少,下面举例子说明该命令的用法。

2.4 rm命令的用法

rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。

rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时必须谨慎。

2.5 logcat 命令的用法

Logcat 是一个命令行工具,用于转储系统消息日志,包括设备抛出错误时的堆栈轨迹,以及从您的应用使用 log 类写入的消息。

安卓的log系统如下:

android log系统示意 

打印出来的这些用法信息,如果感到有不好理解的,可以根据需要去网络上自行搜索。

2.6 cat 命令的用法

 打印出来的cat的语法结构及解释如下:

de>cat [选项] [文件]...de>

选项

-A, --show-all 等价于 -vET

-b, --number-nonblank 对非空输出行编号

-e 等价于 -vE

-E, --show-ends 在每行结束处显示 $

-n, --number 对输出的所有行编号

-s, --squeeze-blank 不输出多行空行

-t 与 -vT 等价

-T, --show-tabs 将跳 字符显示为 ^I

-u (被忽略)

-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

--help 显示此帮助信息并离开

3.个人如何学习

安卓提供的命令工具特别多,全部记住并不现实,能够熟练使用本模块的常用工具就已经很不错了。当然掌握常用命令的常用用法,其实也并不困难,下面提供两种思路供大家参考。

3.1 推荐学习方法一

      如果自己英文可以,理解能力也过关,可以通过命令行,直接查看上述每个命令行工具的用法,标志词汇:usage后面提示用法。

3.2 方法二

      实际使用过程中,也有一些命令使用方法一,并没有得到usage提示, 这类情况可以直接百度;另外,如果感觉直接通过【工具名称 --help】来查看工具的usage理解有难度,也可以直接用如下方法进行学习:

 

总结:不论是使用百度还是谷歌进行搜索,很明显能感知到这些命令工具的用法已经有很多成熟的技术文档供大家参考,命令学习成本极低,大部分都是直接上手可用。


http://www.ppmy.cn/news/832.html

相关文章

[附源码]计算机毕业设计JAVA校园淘宝节系统

[附源码]计算机毕业设计JAVA校园淘宝节系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis …

mybatis配置文件模板及常用标签介绍说明

转自: mybatis配置文件模板及常用标签介绍说明 下文笔者讲述mybatis中配置文件中常见的标签简介说明及mapper配置文件简介说明&#xff0c;如下所示 mybatis配置文件简介 mybatis.xml <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE co…

RSTP与MSTP

RSTP RSTP快速生成树树协议 生成树&#xff1a;为了防止二层网络中存在链路冗余时出现环路STP&#xff1a;生成树协议&#xff0c;802.1D标准定义RSTP&#xff1a;快速生成树协议&#xff0c;802.1w标准定义MSTP&#xff1a;多实例生成树协议&#xff0c;802.1s标准定义 STP…

【Android App】蓝牙的设备配对、音频传输、点对点通信的讲解及实战(附源码和演示 超详细)

需要源码请点赞关注收藏后评论区留言私信~~~ 一、蓝牙设备配对 Android提供了蓝牙模块的管理工具&#xff0c;名叫BluetoothAdapter。下面是BluetoothAdapter类常用的方法说明&#xff1a; getDefaultAdapter&#xff1a;获取默认的蓝牙适配器。 getState&#xff1a;获取蓝…

【示例】如何使用Pytorch堆叠一个神经网络

本文主要从大致步骤上讲述如何从零开始构建一个网络&#xff0c;仅提供一个思路&#xff0c;具体实现以实际情况为准。 一、构建网络 class 网络模型(nn.Module):#----初始化函数----##主要用来构建网络单元&#xff0c;类似于类定义def __init__(self,需要传入的参数列表): …

使用PyQt5界面设计

一、环境搭建 直接pip安装即可&#xff1a; pip install PyQt5 pip install pyqt5-tools 二、Qt Designer设计GUI Qt Designer 是通过拖拽的方式放置控件&#xff0c;并实时查看控件效果进行快速UI设计。最终生成.ui文件&#xff0c;可以通过pyuic5工具转换成.py文件。 打开d…

RabbitMQ中的集群架构介绍

文章目录前言一、普通集群(副本集群)1.架构图二、镜像集群1.架构图前言 在之前我们是以单节点的形式来运行mq。在真正的生产实践中&#xff0c;mq主要用来完成两个应用系统间的通信&#xff0c;如果在某一时刻mq宕机了&#xff0c;会导致系统瘫痪&#xff0c;就是无法进行通信…

操作系统02_进程管理_同步互斥信号量_PV操作_死锁---软考高级系统架构师007

存储管理可以分为固定存储管理和分页存储管理。 现在固定存储管理已经不用也不考,但要知道因为固定存储管理指的是整存整取 也就是把一整个程序,比如说10G的游戏全部都存到内存里 这样的话是非常占用内存的,这个固定存储管理现在已经不用了。 然后这里我们主要看分页存储管: …