我可以得到一个所有安装在我的android上的软件包的列表,但是要打开一个应用程序,我需要活动名称和软件包名称。有没有一种方法可以通过adb shell列出一个软件包中的所有活动。从手机中提取的android manifest文件没有帮助,因为它是文件的二进制版本,因此不包含任何有意义的信息。或者主活动适用于很多应用程序,但不是所有应用程序。因此,我确实需要找出应用程序中活动的确切名称。谢谢。
of1yzvn41#
具体方法如下:
adb shell dumpsys package | grep -i ' + package.name + ' | grep Activity
这将给出给定android软件包中的所有活动。
4nkexdtk2#
进一步扩展tejaswini teju的答案,如果你想获取一个包的所有Activity,而不仅仅是那些包含字符串“Activity”的Activity,你必须做:
adb shell dumpsys package | grep -Eo "^[[:space:]]+[0-9a-f]+[[:space:]]+com.whatsapp/[^[:space:]]+" | grep -oE "[^[:space:]]+$"
将com.whatsapp替换为软件包名称。
com.whatsapp
x3naxklr3#
扩展tejaswini teju答案不起作用,因为指定的grep命令找不到任何内容。这对我很有效:adb shell dumpsys package | grep $packagename | grep Activity其中packagename可以是软件包名称的一部分,例如com.whatsapp或whatsapp它可能会打印重复的结果。
adb shell dumpsys package | grep $packagename | grep Activity
packagename
whatsapp
lo8azlld4#
包名本身可以帮助过滤&我一直都是这样做来获取userid的。我想知道为什么没有人使用它来进行活动。所以现在开始给予我所有的软件包活动,后面跟着特定的过滤器,例如filter 5b2a894代表package com.whatsapp。根据需要更改名称。
filter 5b2a894
package com.whatsapp
不会崩溃
adb shell dumpsys package com.whatsapp | grep -i activity
进一步崩溃
将其进一步折叠以排除filter 5b2a894类型的组件,删除重复项并将其很好地堆叠起来
adb shell dumpsys package com.whatsapp | grep -i activity | awk 'NF{NF-=1};1' | sort | uniq
输出-不折叠
Activity Resolver Table: 2a9801d com.whatsapp/.accountsync.CallContactLandingActivity filter 94597dd 72cf777 com.whatsapp/.identity.IdentityVerificationActivity filter 8aa4179 bfefa14 com.whatsapp/.accountsync.ProfileActivity filter c096fb4 2a9801d com.whatsapp/.accountsync.CallContactLandingActivity filter 94597dd 7ebef6a com.whatsapp/.VoiceMessagingActivity filter 2e8e40 7ebef6a com.whatsapp/.VoiceMessagingActivity filter 2e8e40 bfd6630 com.whatsapp/.HomeActivity filter 885a8e6 bfd6630 com.whatsapp/.HomeActivity filter 885a8e6 bfefa14 com.whatsapp/.accountsync.ProfileActivity filter c096fb4 2a9801d com.whatsapp/.accountsync.CallContactLandingActivity filter 94597dd 2a9801d com.whatsapp/.accountsync.CallContactLandingActivity filter 94597dd 7ebef6a com.whatsapp/.VoiceMessagingActivity filter 2e8e40 7ebef6a com.whatsapp/.VoiceMessagingActivity filter 2e8e40 bfd6630 com.whatsapp/.HomeActivity filter 885a8e6 bfd6630 com.whatsapp/.HomeActivity filter 885a8e6 72cf777 com.whatsapp/.identity.IdentityVerificationActivity filter 8aa4179 63a60ae com.whatsapp/.payments.receiver.IndiaUpiPayIntentReceiverActivity filter e250cc6 e5aadb3 com.whatsapp/.AcceptInviteLinkActivityDeepLink filter f736d72 e5aadb3 com.whatsapp/.AcceptInviteLinkActivityDeepLink filter f736d72 bfefa14 com.whatsapp/.accountsync.ProfileActivity filter c096fb4 2a9801d com.whatsapp/.accountsync.CallContactLandingActivity filter 94597dd bfd6630 com.whatsapp/.HomeActivity filter 2432e27 bfd6630 com.whatsapp/.HomeActivity filter 7d4b8d4 bfd6630 com.whatsapp/.HomeActivity filter ddb7a7d dec987 com.whatsapp/.stickers.AddThirdPartyStickerPackActivity filter d06eebe dc42a01 com.whatsapp/.accountsync.LoginActivity filter 6cef487 e73f6e8 com.whatsapp/.migration.export.ui.ExportMigrationActivity filter 657ed7f c62872c com.whatsapp/.settings.SettingsDataUsageActivity filter 6f2ee9e 1af6ddf com.whatsapp/.authentication.AppAuthenticationActivity filter da5bb1f 24d752a com.whatsapp/.camera.CameraActivity filter 7aa85c3 bfefa14 com.whatsapp/.accountsync.ProfileActivity filter c096fb4 2a9801d com.whatsapp/.accountsync.CallContactLandingActivity filter 94597dd 7ebef6a com.whatsapp/.VoiceMessagingActivity filter 2e8e40 bfd6630 com.whatsapp/.HomeActivity filter 885a8e6 72cf777 com.whatsapp/.identity.IdentityVerificationActivity filter 8aa4179
输出崩溃
1af6ddf com.whatsapp/.authentication.AppAuthenticationActivity filter 24d752a com.whatsapp/.camera.CameraActivity filter 2a9801d com.whatsapp/.accountsync.CallContactLandingActivity filter 63a60ae com.whatsapp/.payments.receiver.IndiaUpiPayIntentReceiverActivity filter 72cf777 com.whatsapp/.identity.IdentityVerificationActivity filter 7ebef6a com.whatsapp/.VoiceMessagingActivity filter Activity Resolver bfd6630 com.whatsapp/.HomeActivity filter bfefa14 com.whatsapp/.accountsync.ProfileActivity filter c62872c com.whatsapp/.settings.SettingsDataUsageActivity filter dc42a01 com.whatsapp/.accountsync.LoginActivity filter dec987 com.whatsapp/.stickers.AddThirdPartyStickerPackActivity filter e5aadb3 com.whatsapp/.AcceptInviteLinkActivityDeepLink filter e73f6e8 com.whatsapp/.migration.export.ui.ExportMigrationActivity filter
vhipe2zx5#
这对我很有效
adb shell "dumpsys package | grep -i 'com.android.calendar' | grep 'Activity'"
我用的是windows 10。它将给出如下:
5697056 com.android.calendar/.event.EditEventActivity e7285bc com.android.calendar/.homepage.AllInOneActivity 5697056 com.android.calendar/.event.EditEventActivity 9a9edbd com.android.calendar/.event.EventInfoActivity 5697056 com.android.calendar/.event.EditEventActivity 5697056 com.android.calendar/.event.EditEventActivity 9a9edbd com.android.calendar/.event.EventInfoActivity e7285bc com.android.calendar/.homepage.AllInOneActivity a148bb4 com.android.calendar/com.miui.calendar.event.travel.EmptyTravelActivity e8883dd com.android.calendar/com.miui.calendar.web.WebViewActivity 26664e6 com.android.calendar/com.miui.calendar.event.loan.LoanDetailActivity 2c883c5 com.android.calendar/com.miui.calendar.holiday.HolidayDetailActivity 304220e com.android.calendar/.agenda.AgendaActivity 31751c3 com.android.calendar/com.miui.calendar.test.ModuleTestActivity 408a44b com.android.calendar/com.miui.calendar.event.travel.FlightDetailActivity 5e67a3c com.android.calendar/com.miui.calendar.detail.CardDetailActivity 6befe28 com.android.calendar/com.miui.calendar.event.travel.TrainDetailActivity 6e4511a com.android.calendar/com.miui.calendar.insertevent.InsertEventActivity 83b3a27 com.android.calendar/com.miui.calendar.event.movie.MovieDetailActivity 879f009 com.android.calendar/.selectcalendars.SelectVisibleCalendarsActivity ba96a40 com.android.calendar/com.miui.calendar.event.travel.FlightCheckInActivity bb29741 com.android.calendar/com.miui.calendar.event.credit.CreditDetailActivity ca3e972 com.android.calendar/com.miui.calendar.event.electricity.ElectricityBillDetailActivity e19d4d4 com.android.calendar/com.miui.calendar.event.hotel.HotelDetailActivity fd0667d com.android.calendar/com.miui.calendar.event.gas.GasBillDetailActivity ff6f42f com.android.calendar/com.miui.calendar.huangli.HuangLiDetailActivity e7285bc com.android.calendar/.homepage.AllInOneActivity 134bba0 com.android.calendar/.settings.CalendarSettingsActivity e7285bc com.android.calendar/.homepage.AllInOneActivity 9a9edbd com.android.calendar/.event.EventInfoActivity de026b2 com.android.calendar/com.miui.calendar.detail.GlobalHoroscopeDetailActivity e7285bc com.android.calendar/.homepage.AllInOneActivity 304220e com.android.calendar/.agenda.AgendaActivity e7285bc com.android.calendar/.homepage.AllInOneActivity 5697056 com.android.calendar/.event.EditEventActivity (2 filters) 9a9edbd com.android.calendar/.event.EventInfoActivity e7285bc com.android.calendar/.homepage.AllInOneActivity 5697056 com.android.calendar/.event.EditEventActivity (2 filters)
7eumitmz6#
这次讨论把我带到了我需要的解决方案。谢谢大家adb shell "dumpsys软件包" com. android. settings "|grep-i活性|grep-i移动设备|awk "{打印$2}"|分类|唯一"com. android.设置/.设置$移动数据使用列表活动com. android.设置/.设置$移动网络活动com. android.设置/.设置$移动网络列表活动
3pvhb19x7#
为了进一步提出这个问题:在设备上执行操作时,是否有方法列出涉及的程序包/活动?例如:打开设置〉移动网络〉切换VoLTE开关我尝试了"logcat-c "/" logcat-d",但没有效果。
7条答案
按热度按时间of1yzvn41#
具体方法如下:
这将给出给定android软件包中的所有活动。
4nkexdtk2#
进一步扩展tejaswini teju的答案,如果你想获取一个包的所有Activity,而不仅仅是那些包含字符串“Activity”的Activity,你必须做:
将
com.whatsapp
替换为软件包名称。x3naxklr3#
扩展tejaswini teju答案不起作用,因为指定的grep命令找不到任何内容。
这对我很有效:
adb shell dumpsys package | grep $packagename | grep Activity
其中
packagename
可以是软件包名称的一部分,例如com.whatsapp
或whatsapp
它可能会打印重复的结果。
lo8azlld4#
包名本身可以帮助过滤&我一直都是这样做来获取userid的。我想知道为什么没有人使用它来进行活动。所以现在开始
给予我所有的软件包活动,后面跟着特定的过滤器,例如
filter 5b2a894
代表package com.whatsapp
。根据需要更改名称。不会崩溃
进一步崩溃
将其进一步折叠以排除
filter 5b2a894
类型的组件,删除重复项并将其很好地堆叠起来输出-不折叠
输出崩溃
vhipe2zx5#
这对我很有效
我用的是windows 10。
它将给出如下:
7eumitmz6#
这次讨论把我带到了我需要的解决方案。谢谢大家
adb shell "dumpsys软件包" com. android. settings "|grep-i活性|grep-i移动设备|awk "{打印$2}"|分类|唯一"
com. android.设置/.设置$移动数据使用列表活动com. android.设置/.设置$移动网络活动com. android.设置/.设置$移动网络列表活动
3pvhb19x7#
为了进一步提出这个问题:在设备上执行操作时,是否有方法列出涉及的程序包/活动?
例如:打开设置〉移动网络〉切换VoLTE开关
我尝试了"logcat-c "/" logcat-d",但没有效果。