木 头 课 堂
小 木 前 言前面介绍了adb的基本使用,这章我们将继续详细而全面介绍adb的命令。
小 木 正 文——————————————
❶ADB之应用管理
——————————————
应用程序包名获取方式a.直接到终端的data/data目录下进行查找
b.通过pm命令进行获取:package manager:包管理器;使用该命令完成应用程序的查询、安装等操作所涉及的应用信息、系统权限等。
pm list packages 表示的说去已经安装的所有应用程序的包名;该命令在终端中输入的,如果在dos中输入的话则需要添加adb shell pm list packages
可以额外的添加参数完成过滤的操作;常用的两个-s表示过滤显示当前的系统应用包,-3表示只显示第三方应用包
c.获取包名以及活动窗口名(前提:需要将该app先进行启动):
该命令是在dos中执行
adb shell dumpsys | find “mFocusedActivity”
该命令在终端中执行
dumpsys| grep "mFocusedActivity"
扩展:android的四大组件构成:
Activity:表示的是活动,为用户提供可视化界面的操作,也为用户提供了操作指令的窗口,与用户完成良好的交互。在所有的app中几乎每个界面都是基于activity所存在的,也是整个所有组件中交互应用最多的一个。
Service:通常是基于后台进行处理业务逻辑的形式存在,可以通过androidManiFest.xml实现配置信息的操作。
broadcast receive :是一种应用于应用程序之间传输信息的机制。
Content Provider:实现数据共享,使一个应用程序的指定数据集能够提供给其他应用程序。
说明:简而言之一个activity就是一个单独的屏幕窗口
了解:activity的四种状态:运行中:表示的是可见的,可以实现用户交互的;暂停:不能够与用户进行交互,处于暂停状态;销毁:表示的是activity直接被系统回收;停止:activity退入到后台运行。
d.通过反编译apk进行获取其文件的配置信息,然后查找对应的包名和活动窗口名:
通过androidkiller进行反编译操作可以直接获取对应的包名和活动窗口名
e.还可以通过aapt命令完成包名和活动窗口名的获取操作:
aapt dump badging apk所在的路径
查看应用安装路径
命令:
adb shell pm path <PACKAGE>
输出应用安装路径
输出示例:
adb shell pm path com.tencent.mmpackage:/data/app/weixin.apk
与应用交互
主要是使用 am mmand> 命令,常用的 如下:
command | 用途 |
---|---|
start [options] |
启动 指定的 Activity |
startservice [options] |
启动 指定的 Service |
broadcast [options] |
发送 指定的广播 |
force-stop |