Android adb启动任意app的几种方式

使用adb启动应用程序主要有两种方式:一种是已知应用程序的包名和主Activity,另一种是不知道应用程序的包名和主Activity。

已知应用程序的包名和主Activity

在这种情况下,我们可以通过输入特定的adb命令来启动应用程序。具体步骤如下:

(1)确保你的PC和Android设备已经连接,可以通过cmd进入命令行,输入adb devices来确认设备是否已经连接。

(2)在命令行中输入adb shell am start +包名/.Activity来启动应用程序,例如:adb shell am start com.android.settings/.HWSettings。

(3)或者,你也可以使用adb shell am start -W -n 包名/.Activity来启动应用程序,例如:adb shell am start -W -n com.android.settings/.Settings$ApnEditorActivity。

如何获取启动页activity

启动页activity指App启动的第一个activity,介绍几种查看启动页activity的方法:

方法一:问开发,最有效的获取方式

方法二:dumpsys package 包名,前提是知道包名

1、adb shell

2、dumpsys package 包名

查找关键词"android.intent.action.MAIN"即可检索到启动页activity:/.activity.HomeActivity

方法三:monkey,前提是知道包名

adb shell -p 包名 -v -v -v 1

执行结果有一个cmp参数,后面就是我们的启动页activity

相关推荐
执明wa11 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio
404_coder12 小时前
源码视角下的 Android 开机流程:从 Zygote、SystemServer 到 Launcher
android
二流小码农12 小时前
鸿蒙开发:以登录案例了解代码架构MVVM
android·ios·harmonyos
用户693717500138413 小时前
从代码生产者到 AI 协作者:软件工程师的角色重构
android·前端·后端
GitLqr13 小时前
别在 Flutter 的 main() 里乱锁屏幕方向,小心 iPad 分屏功能被你搞没了
android·flutter·ios
sg_knight13 小时前
MySQL 存储过程详解:从入门到实战
android·数据库·mysql·database·dba·关系型数据库·db
爱笑鱼13 小时前
Binder(四):ioctl(BINDER_WRITE_READ) 之后,事务怎样到达目标进程?
android
AFinalStone13 小时前
Android 7系统休眠唤醒(二)开机全链路—BootROM到Launcher
android·电源管理·休眠唤醒
Mr YiRan14 小时前
Android NDK开发之统计到未被回收的图片
android