扫几个知识点:
①每个APP都有一个唯一的包名
②启动窗口名的格式:包名.HomeScreenActivity
③Activity是Android四大组件之一,就是一个界面(窗口)。
1、aapt
aapt dump badging apk所在路径
①先 cd 到apk上级目录
②找出包名:aapt dump badging 文件名 | findstr package
③找出活动窗口名:aapt dump badging 文件名 | findstr activity
2、adb shell
1)adb shell am monitor,然后启动需获取包名的APP。
2)adb shell pm list packages:获取模拟器中的所有app的包名
- 如果存在多个设备,可以指定设备:adb -s 127.0.0.1:7555 shell pm list packages
- 获取第三方包:adb -s 127.0.0.1:7555 shell pm list packages -3
- adb shell----->pm
注:因为 Windows 上也有 grep,所以实现过滤,两种方法:①把 grep 换成 findstr;②把 shell 后的命令用引号引起。否则,报错:'grep' 不是内部或外部命令,也不是可运行的程序或批处理文件。
3)adb shell dumpsys window | findstr mCurrentFocus:查看当前运行的包名和启动窗口名。
4)adb shell dumpsys activity | findstr mFocusedActivity:同上
5)adb shell dumpsys |find "mFocusedActivity":同上
6)adb shell dumpsys|find "Current":同上
7)adb shell “dumpsys window | grep mCurrentFocus”:同上。
注意:如果不加引号----->'grep' 不是内部或外部命令,也不是可运行的程序或批处理文件。
8)adb shell "dumpsys activity | grep mFocusedActivity":同上。