如何了解 android 应用程序中的各种活动
How to know various activities in an android application
我想查看从 Play 商店下载的应用程序的活动。基本上我想知道应用程序的活动,以便我可以从 android phone 或 adb 启动该应用程序。
到目前为止,我了解到要启动我们可以使用的应用程序,
$ sudo adb shell am start -n applicationPackageName/.activityName
例如。 $ sudo adb shell am start -n com.google.android.contacts/.ContactsActivity
还有其他方法可以从 android phone 或 adb 的终端启动应用程序吗?
简单的解决方案。
反编译应用程序并查看AndroidManifest.xml
实际上大多数开发人员都忘记了这个选项,您可以感染它来启动特定的 Activity 跳过登录等活动。确保你在你的应用程序中处理类似的东西。例如,故意空手投掷 IllegalStatExceptions
,有效地使其崩溃 :)
只需查看 dumpsys package <package name>
输出的 Activity Resolver Table:
部分:
# dumpsys package com.android.contacts
Activity Resolver Table:
Non-Data Actions:
com.android.contacts.action.LIST_CONTACTS_WITH_PHONES:
239ae1c9 com.android.contacts/.activities.PeopleActivity
com.android.contacts.action.LIST_STREQUENT:
239ae1c9 com.android.contacts/.activities.PeopleActivity
android.intent.action.MAIN:
1b7bebda com.android.contacts/.widget.PinnedHeaderListDemoActivity
239ae1c9 com.android.contacts/.activities.PeopleActivity
3e173dd0 com.android.contacts/.NonPhoneActivity
com.android.contacts.action.LIST_ALL_CONTACTS:
239ae1c9 com.android.contacts/.activities.PeopleActivity
com.android.contacts.action.LIST_DEFAULT:
239ae1c9 com.android.contacts/.activities.PeopleActivity
com.android.contacts.action.LIST_STARRED:
239ae1c9 com.android.contacts/.activities.PeopleActivity
com.android.contacts.action.LIST_FREQUENT:
239ae1c9 com.android.contacts/.activities.PeopleActivity
com.android.contacts.action.JOIN_CONTACT:
54e8f64 com.android.contacts/.activities.ContactSelectionActivity
com.android.contacts.action.LIST_CONTACTS:
239ae1c9 com.android.contacts/.activities.PeopleActivity
android.intent.action.CREATE_SHORTCUT:
480101 com.android.contacts/alias.DialShortcut
16bceba6 com.android.contacts/alias.MessageShortcut
1984f6e8 com.android.contacts/.ContactShortcut
android.intent.action.SEARCH:
239ae1c9 com.android.contacts/.activities.PeopleActivity
我想查看从 Play 商店下载的应用程序的活动。基本上我想知道应用程序的活动,以便我可以从 android phone 或 adb 启动该应用程序。 到目前为止,我了解到要启动我们可以使用的应用程序,
$ sudo adb shell am start -n applicationPackageName/.activityName
例如。 $ sudo adb shell am start -n com.google.android.contacts/.ContactsActivity
还有其他方法可以从 android phone 或 adb 的终端启动应用程序吗?
简单的解决方案。
反编译应用程序并查看AndroidManifest.xml
实际上大多数开发人员都忘记了这个选项,您可以感染它来启动特定的 Activity 跳过登录等活动。确保你在你的应用程序中处理类似的东西。例如,故意空手投掷 IllegalStatExceptions
,有效地使其崩溃 :)
只需查看 dumpsys package <package name>
输出的 Activity Resolver Table:
部分:
# dumpsys package com.android.contacts
Activity Resolver Table:
Non-Data Actions:
com.android.contacts.action.LIST_CONTACTS_WITH_PHONES:
239ae1c9 com.android.contacts/.activities.PeopleActivity
com.android.contacts.action.LIST_STREQUENT:
239ae1c9 com.android.contacts/.activities.PeopleActivity
android.intent.action.MAIN:
1b7bebda com.android.contacts/.widget.PinnedHeaderListDemoActivity
239ae1c9 com.android.contacts/.activities.PeopleActivity
3e173dd0 com.android.contacts/.NonPhoneActivity
com.android.contacts.action.LIST_ALL_CONTACTS:
239ae1c9 com.android.contacts/.activities.PeopleActivity
com.android.contacts.action.LIST_DEFAULT:
239ae1c9 com.android.contacts/.activities.PeopleActivity
com.android.contacts.action.LIST_STARRED:
239ae1c9 com.android.contacts/.activities.PeopleActivity
com.android.contacts.action.LIST_FREQUENT:
239ae1c9 com.android.contacts/.activities.PeopleActivity
com.android.contacts.action.JOIN_CONTACT:
54e8f64 com.android.contacts/.activities.ContactSelectionActivity
com.android.contacts.action.LIST_CONTACTS:
239ae1c9 com.android.contacts/.activities.PeopleActivity
android.intent.action.CREATE_SHORTCUT:
480101 com.android.contacts/alias.DialShortcut
16bceba6 com.android.contacts/alias.MessageShortcut
1984f6e8 com.android.contacts/.ContactShortcut
android.intent.action.SEARCH:
239ae1c9 com.android.contacts/.activities.PeopleActivity