如何找出包中的活动名称?机器人.亚行壳

Abd*_*man 10 shell android

我可以获得安装在我的android上的所有软件包的列表,但是要打开一个应用程序,我需要活动名称和软件包名称.有没有办法通过adb shell列出包中的所有活动.从手机中提取的android清单文件没有帮助,因为它是文件的二进制版本,因此不包含任何有意义的信息.和LAUNCHER 1,或主要活动适用于很多应用程序,但不是全部.因此,我确实需要找出应用程序中活动的确切名称.

谢谢.

tej*_*eju 23

方法如下:

adb shell dumpsys package | grep -i " + (enter package name)  + " |grep Activity
Run Code Online (Sandbox Code Playgroud)

这将给出给定android包中的所有活动.

  • "adb shell dumpsys package | grep -i com.adguard.android | grep Activity" (2认同)
  • 由于某种原因,“dumpsys package”似乎没有找到所有活动。例如,不包括“com.android.settings/.Settings$TestingSettingsActivity” (2认同)

For*_*vin 8

要扩展tejaswini teju的答案,如果您想获取包的所有活动,而不仅仅是包含字符串“ Activity”的活动,则必须执行以下操作:

adb shell dumpsys package | grep -Eo "^[[:space:]]+[0-9a-f]+[[:space:]]+com.whatsapp/[^[:space:]]+" | grep -oE "[^[:space:]]+$"
Run Code Online (Sandbox Code Playgroud)

com.whatsapp您的包裹名称替换。


oct*_*ron 7

扩展tejaswini teju答案不起作用,因为指定的 grep 命令找不到任何内容。

这对我有用:adb shell dumpsys package | grep $packagename | grep Activity

其中packagename可以是包名称的一部分,例如com.whatsappwhatsapp

它可能会打印重复的结果。