aapt dump badging--这里只为自动化脚本获取App包名
简单回顾获取包名的几种方法:
只介绍不需要root的方法:
方法 | 劣势点 |
---|---|
adb shell pm list package | 将会列出所有App包名,寻找也是麻烦 |
adb shell dumpsys window w | findstr \/ | findstr name= | 需要先打开apk后,再敲命令 (对于自动化测试并不友好) |
adb shell dumpsys activity | 1.需要先打开App,再执行命令 2.需要过滤筛选 |
adb shell logcat | findstr START | 1.需要运行一次App 2.输出内容较多 使用这个命令我一般筛选cmp= |
*aapt dump badging (apk path) | findstr package | 1.aapt环境变量问题 2.需要指定apk路径 |
“aapt dump badging ApkPath”就是这次的主题
为什么选择此方法用在自动化脚本:
- 直接输出 ,执行命令将直接输出package name;
- 不需要先启动一次App;
- 不需要root权限;
== 注意点==
- aapt 在SDK的build-tools目录下. 该工具可以查看, 创建, 更新ZIP格式的文档附件(zip, jar, apk),如果 没有加入环境变量而直接引用会提示:不是内部或外部命令…
- 指定apk包所在路径:
1.使用Windows下apk包:D:/xxx.apk(or脚本相对路径)
2.使用Linux下apk包:同Windows一样,指定路径即可
3.使用手机内apk包:不知道行不行
放代码:
#coding:utf-8