欢迎光临
梦想从学习开始!

Android adb shell之 am使用方法

adb shell am
前面adb的使用(基础篇)中介绍了很多adb外部命令的使用方法,今天来介绍一下adb shell这个命令。

一、什么是shell?

android的内核就是linux,shell是一个命令解析器,是一个用来连接用户和linux内核的应用程序。所以通过adb shell能登录到android设备上,登录成功后,就能通过android自带的一系统管理,操作命令进行操作,如启动、停止服务、强制停止进程,模拟各种系统行为。我们分几篇文章来把帮我平时测试工作中常用的命令来介绍一下,今天先介绍am

二、am的简介

am 是activity manager的缩写,am实现方式在Am.java,调用ActivityManagerService相应的方法来完成的。我们平时测试app,每个页面都对应的一个activity,通过am能控制每个页面,获取到app的主activity,就能控制app的启动,关闭等操作。如何获取app的主activity,基础篇中有介绍。

三、am常用命令

1.启动app(以有道词典为例) am start -n (-n 代表指定组件名,包名/.主activity)
a.第一步,打开有道词典,通过adb shell dumpsys input | findstr FocusedApplication,获取Activity
adb shell am

b.第二步,adb shell am start -n com.youdao.dict/.activity.MainActivity t7396
adb shell am

2.强制关闭app(以有道词典为例) am force-stop +包名
adb shell am force-stop com.youdao.dict ,执行后app 关闭

3.打开网页(以打开百度为例) am start -a android.intent.action.VIEW -d ( 这里-a表示动作,-d表述传入的数据)
am start -a android.intent.action.VIEW -d http://www.baidu.com
adb shell am

4.启动一个服务 am startservice <服务名称>
am startservice -n com.android.music/com.android.music.MediaPlaybackService (这里-n表示组件)

5.拨打一个电话 am start -a android.intent.action.CALL
am start -a android.intent.action.CALL -d tel:10086 (这里-a表示动作,-d表述传入的数据)
adb shell am

附上常用参数解释

-a : 指定Intent action, 实现原理Intent.setAction();
-n : 指定组件名,格式为{包名}/.{主Activity名},实现原理Intent.setComponent();
-d : 指定Intent data URI
-t : 指定Intent MIME Type
-c [-c ] …]:指定Intent category,实现原理Intent.addCategory()
-p : 指定包名,实现原理Intent.setPackage();
-f : 添加flags,实现原理Intent.setFlags(int ),紧接着的参数必须是int型;

四、分享一个之前做浏览器内容屏蔽的脚本

绝对是干货,请大家回复后自动获取:

[ttr2v]
am例子
[/ttr2v]

赞(0) 打赏
未经允许不得转载:小熊分享邦 » Android adb shell之 am使用方法

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏