码迷,mamicode.com
首页 > 移动开发 > 详细

Android am 命令使用

时间:2016-04-11 01:35:05      阅读:808      评论:0      收藏:0      [点我收藏+]

标签:

 

 

 

一、开启Activity、服务、广播知识点

1.am介绍

通过adb shell 你可以使用activity manager(am)工具来执行不同的系统操作,如开启一个actions、开启一个activity、强制停止一个线程、发送要给广播、修改设备屏幕属性等等。adb shell命令格式如下:

am <command>

2.Intent介绍

Intent可以理解为不同组件通信的媒介或者信使

Intent可以启动一个Activity,也可以启动一个service,还可以发起一个广播Broadcast

通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求

Intent

参数

说明

COMPONENT -n 组件名称  格式为:包名/类名
ACTION -a 指定Intent的执行动作,比如调用拨打电话组件
DATA_URL -d 表示动作要操纵的数据
CATEGORY -c category是一个字符串,提供了额外的信息,有关于能够处理这个Intent对象的组件种类
EXTRAT -e 传递给Intent的额外数据,以Bundle的形式定义,就是一些键值对
MIME_TYPE -t MIME类型
FLAGS -f 各种类型的flag,很多是用来指定android系统如何启动activity,还有启动activity后如何对待它
PACKAGE -p 包名

 

3.启动Activity

启动界面:adb shell  am start [参数] <INTENT>

参数 说明
-D 开启调试模式
-W 等待启动完成
--start-profile <file> 开始分析器和发送结果<文件>
--sampling INTERVAL 使用样本分析间隔微秒   样品(使用--start-profiler)之间
-P <FILE> 应用空闲下来后,停止profile
-R COUNT 重复活动退出<统计>次,每个重复之前,活动将会结束
-S 力组织目标应用程序开始前的活动
--opengl-trace 启用跟踪OpenGL函数
[—user  <USER_ID> | current] 指定哪些用户运行,如果不指定则使用当前用户

4.启动与停止服务

启动服务: adb shell am startservice [参数] <INTENT>

停止服务: adb shell am stopservice [参数] <INTENT>

参数 说明
--user <USER_ID> | current 指定哪些用户运行,如果不指定则使用当前用户

5.启动广播

启动广播: adb shell am broadcast [参数] <INTENT>

参数 说明
--user <USER_ID> | current 指定哪些用户运行,如果不指定则使用当前用户

 

二、内存、进程、性能操作

1.内存操作

获取heap文件: adb shell am dumpheap [参数] <PROCESS>

参数

说明

-n 获取native heap而不是managed heap
--user <USER_ID> | current 指定哪些用户运行,如果不指定则使用当前用户

 

以桌面时钟为例(com.android.deskclock)

TIP:1.进程名=包名

            2.可以使用adb shell pm list package来查看当前手机中的包名

            3.必需使用root权限手机

adb shell am dumpheap com.android.deskclock /data/local/tmp/test.hprof

#获取桌面时钟的heap文件,后缀名必需是.hprof

获取到内存快照后可以使用adb pull命令将.hprof文件pull到电脑本地

然后使用命令hprof-conv f:\test.hprof f:\test1.hprof对.hprof进行转换

最后使用mat工具加载转换后的.hprof文件即可对内存进行分析

2.进程操作

强制停止应用:adb shell am force-stop [参数] <PROCESS>

安全停止应用:adb shell am kill [参数] <PROCESS>

停止后台进程:adb shell am kill –all

参数

说明

--user <USER_ID> | current 指定哪些用户运行,如果不指定则使用当前用户

 

以浏览器为例(com.android.browser):

adb shell am force-stop com.android.browser

#强制关闭浏览器(不保存数据)

adb shell am kill com.android.browser

#安全停止应用(当应用在前台时无法使用,杀掉后可以使用adb shell ps | find “browser”来查看)

adb shell am kill –all

#按照一定的规则停止所有后台进程

三、调试相关操作

 

1.性能相关

图片来源于极客学院视频截图

技术分享

Traceview是android平台配备一个很好的性能分析的工具。它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到method

2.监听异常

监听crash和ANR:adb shell am monitor [options]

TIP:

1)监听状态下系统崩溃后是无法继续使用的,需要在命令行ctrl+c退出监听才可以

Android am 命令使用

标签:

原文地址:http://www.cnblogs.com/JianXu/p/5376642.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!