1.通过搜索命令查找app
一般情况下,UI上看到的APP名称会在xml文件里面定义出来,如
搜索名字为WiGig的一个APP
执行命令
sgrep "WiGig" 2>&1|tee 1.log
将所有的搜索到的内容打印到log里面
Log里面会有一段内容
在它的前面是这段内容在源码中的位置
<string name="app_name">"WiGig\nSettings"</string>
通过这个位置,定位出相关APP所在目录
查目录中的mk文件,找出APP在源码中的实际名称
通过命令mgrep WigigSettings,找出相关的调用位置。
2.通过ADB查找app
有的APP可能搜不到,名字被修改过。
这个可以通过ADB查询包名,定位出APP位置。
如:
要查找一个叫做Qualcomm DLT的APP。通过前面的方法无法定位到APP的位置
用adb列出所有的包名
adb shell pm list packages
这个可能是,但是不确定
通过命令
adb shell
dumpsys package com.qualcomm.qct.dlt
定位出启动路径
exit
adb shell am start -n com.qualcomm.qct.dlt/.MainActivity
如果手机上显示对应应用打开了,那就确定了这个包名。
还有一个定位包名的方法是
先打开要找的APP,然后查看当前窗口位置
#查看当前app的入口
adb shell dumpsys window | findstr "Current"
可以协助定位出包名
这个时候,再到源码里面,搜索对应的包名
3.记录一个难找的APP
有找出服务对应的apk
adb shell pm list packages -f
全局搜索这个APK
删除相关调用(PS:不用管名字,前面找错了)