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

启动app

一,知道app包名和主Activity

1.1,PC和Android设备连接;cmd 进入命令行,输入adb devices 确认是否连接;

1.2,命令行输入 adb shell  am start +包名/.Activity (要启动的Activity) 

例如:adb shell am start com.android.settings/.HWSettings

1.3,或者命令行中输入adb shell am start -W -n 包名/.Activity

例如:adb shell am start -W -n com.android.settings/.Settings$ApnEditorActivity

二,包名和主Activity都不知道

2.1,获取app包名

2.2,获取主(要启动的)Activity有如下几种:

2.2.1,cmd 命令行中执行adb shell dumpsys package app包名

2.2.2,通过aapt 工具;cmd进入命令行,cd进入aapt 所在的目录,例如:E:\SDK\build-tools\27.0.2,执行 aapt dump badging C:\Users\lza\Desktop\app-debug.apk | findstr "activity",注意:这个方法需要有apk;

2.2.3,cmd命令行执行 adb shell 进入Android系统命令中,再执行 dumpsys window w | grep mCurrent

C:\Users\Ang>adb shell
shell@hwALE-H:/ $ dumpsys window w | grep mCurrent
  mCurrentFocus=Window{6bf99ff u0 com.android.settings/com.android.settings.HWSettings}

2.2.4,cmd命令行执行 adb shell 进入Android系统命令中,再执行 dumpsys activity | grep mFocusedActivity

2.2.5,cmd命令行执行 adb shell 进入Android系统命令中,再执行 dumpsys window windows | findstr "Current"

注意:2.2.3,2.2.4,2.2.5需要app在前台运行;以上命令有些对都是针对第三方应用;系统应用2.2.3可以直接获取,其他方式不太直观,或者获取不到;

2.2.6,最后和一一样,在cmd 命令行中执行adb shell  am start +包名/.Activity (要启动的Activity) 或者 adb shell am start -W -n 包名/.Activity; 注意是cmd 命令行中不是执行adb shell之后的Android命令行中;

关闭App

1,cmd命令行中执行 adb shell am force-stop app包名

例如:adb shell am force-stop com.android.settings关闭系统设置;

2,cmd命令行中执行 adb shell pm clear app包名

例如adb shell pm clear app com.android.settings 关闭系统设置

发布了93 篇原创文章 · 获赞 50 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/ezconn/article/details/99885715