本记录内容由TestHome学习转载,感谢这个大平台!!
一、获取App包名:pm list package
参数 -f:将获取手机内所有apk对应的包名和路径
参数-3:将获取手机内第三方apk对应的包名和路径(可组合使用)
首先先提一下:
findstr 和 grep 查找字符串说明
findstr:windows平台查找字符串命令, 一般格式如下:
adb shell xxx | findstr xxx
grep:linux平台查找字符串命令,一般先adb shell 进入shell命令行再使用,也可直接使用,把shell 后面带grep的命令加双引号即可:
adb shell "xxx | grep xxx"
二、获取Activity方式:
方法1:dumpsys window
先打开要获取的App,再输入以下命令
adb shell "dumpsys window | grep mCurrent"
adb shell dumpsys window | findstr mCurrent
方法2:dumpsys activity
先打开要获取的App,再输入以下命令
adb shell "dumpsys activity | grep mFocusedActivity"
adb shell dumpsys activity | findstr mFocusedActivity
方法三:aapt工具(待实践,这边直接用的TestHome中的实例图)
使用aapt工具 ,适合给程序自动获取 apk 的相关信息,非常实用,
//aapt是sdk自带的一个工具,在sdk\builds-tools\目录下
1.以微信为例,命令行中切换到aapt.exe目录执行输入以下命令
aapt dump badging D:\weixin658android1060.apk
2.运行后的结果中以下两行分别是应用包名package和入口activity名称,另外可看到应用使用的权限、支持的语言等信息
方法四:apktool反编译app后查看AndroidManifest.xml(待实践)
1.使用apktool反编译app
java -jar D:\Tools\apktool_2.2.3.jar d D:\Tools\weixin658android1060.apk
2.打开AndroidManifest.xml文件
manifest节点的package属性值是应用的包名:
查找android.intent.action.MAIN和android.intent.category.LAUNCHER对应的activity,该activity对应的android:name属性既是入口activity名称,android.intent.action.MAIN决定应用程序最先启动的Activity,android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里
最后的最后,重点中的重点: