我可以获得安装在我的android上的所有软件包的列表,但是要打开一个应用程序,我需要活动名称和软件包名称。有没有办法通过adb shell列出包中的所有活动。从手机中提取的android清单文件没有帮助,因为它是文件的二进制版本,因此不包含任何有意义的信息。和LAUNCHER 1,或主要活动适用于很多应用程序,但不是全部。因此,我确实需要找出应用程序中活动的确切名称。
感谢。
答案 0 :(得分:16)
以下是:
adb shell dumpsys package | grep -i " + (enter package name) + " |grep Activity
这将给出给定android包中的所有活动。
答案 1 :(得分:3)
要扩展tejaswini teju的答案,如果您想获取软件包的所有活动,而不仅仅是包含字符串“ Activity”的活动,则必须执行以下操作:
adb shell dumpsys package | grep -Eo "^[[:space:]]+[0-9a-f]+[[:space:]]+com.whatsapp/[^[:space:]]+" | grep -oE "[^[:space:]]+$"
用您的软件包名称替换com.whatsapp
。
答案 2 :(得分:1)
扩展tejaswini teju答案是行不通的,因为指定的grep命令找不到任何东西。
这对我有用:adb shell dumpsys package | grep $packagename | grep Activity
packagename
可以是包名称的一部分,例如com.whatsapp
或whatsapp
它可能会打印重复的结果。