利用adb 命令回到手机端某个app的页面

利用adb 命令回到手机端某个app的页面,而不用点击本app图标

//需要执行的adb命令
String[] cmdStart = new String[] { "su",
						"am start -n com.bpt.activity/com.bpt.activity.AcMain" };
try {
		//执行adb 命令
		CMDUtil.execShellCMD(cmdStart, 1);
	} catch (IOException e1) {
	 // TODO Auto-generated catch block
	 e1.printStackTrace();
	} catch (InterruptedException e1) {
	 // TODO Auto-generated catch block
	 e1.printStackTrace();
	}

执行命令的工具方法

public static void execShellCMD(String[] s, int execType) throws IOException,InterruptedException {
if (s.length != 0) {
	 Process p = Runtime.getRuntime().exec(s[0]);
	 // PROBLEM: only first cmd in the array can be implemented, the other can not be implemented(or we can't see)
	 if (s.length > 1) {
		 OutputStream outputStream = p.getOutputStream();
		 DataOutputStream dataOutputStream = new DataOutputStream(outputStream);
		 int i = 1;
		 dataOutputStream.writeBytes(s[1]);
	     dataOutputStream.flush();
		 dataOutputStream.close();
		 outputStream.close();
	 }
			switch (execType) {
			case 1:
				p.waitFor();
				break;
			default:
				p.waitFor();
				break;
			}
		}
	}

这个命令是在控制台连接手机
1.进入控制台这里写图片描述
2.进入adb shell 进入 adb shell
3.在进入su
这里写图片描述
4.输入命令
这里写图片描述
这里就已经可以看到手机 上已经打开 Bpt 这个app的AcMain的页面
这个命令的格式:
am start -n app的包名/包名+类名

app的包名在项目的AndroidManifest.xml 文件中 可以看到 package=“com.bpt” 这个是这个项目的唯一标示。


———————————————————————————

今天做个补充:
下面利用抖音做例子
获取app的包名以及当前页面的activity(获取抖音的页面)

//获取app的包名以及当前页面的activity
adb shell dumpsys window windows | findstr "Current"

在这里插入图片描述
可以看到 前面的 “ com.ss.android.ugc.aweme”就是抖音的包名,后面的“com.ss.android.ugc.aweme.splash.SplashActivity” 就是抖音的页面activity

利用adb 命令停止app 应用

//杀掉app 的命令
adb shell am force-stop com.ss.android.ugc.aweme

这样就可以把抖音的应用杀掉了

adb shell am start -n com.ss.android.ugc.aweme/com.ss.android.ugc.aweme.splash.SplashActivity

这样就可以直接adb 控制打开抖音了。

好记性不如烂笔头
-----有信仰的小马

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值