【android】Android am命令使用
一、开启Activity、服务、广播
1.开启Activity、服务、广播基础知识
通过adb shell,可以使用activity manager(arm)工具来执行不同的系统操作,如开启一个action,开启一个activity、强制停止一个线程、修改设备屏幕属性等等,adb shell命令格式如下:
am <command>
1)intent
intent可以理解为不同组件通信的媒介或者信使;
intent可以启动一个Activity,也可以启动一个Service,好可以发起一个广播Broadcast
通过intent,你的程序可以像Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求
|
Intent |
说明 |
Am参数 |
| component | 组件名称 格式为:包名/类名 | -n |
| action | 指定Intent的执行动作,比如调用拨打电话组件 | -a |
| data_url | 表示与动作要操纵的数据 | -d |
| category | categary是一个字符串,提供了额外的信息,有关于能够处理这个Intent对象的组件种类 | -c |
| extra | 传递给Intent的额外数据,以Bundle的形式定义,就是一些键值对 | -e |
| mime_type | MIME类型 | -t |
| flags | 各种类型的flag,很多是用来指定Android系统如何启动activity,还有启动了activity后如何对待他 | -f |
| package | 包名 | -p |
2)启动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] | 指定哪些用户运行,如果不指定则使用当前用户 |
3)启动和停止服务

#启动服务 adb shell am startservice [参数] <INTENT> #停止服务 adb shell am stopservice [参数] <INTENT>

| 参数 | 说明 |
| --user <USER_ID> | current | 指定哪些用户运行,如果不指定则使用当前用户 |
4)启动广播
#启动广播 adb shell am broadcast [参数] <INTENT>
| 参数 | 说明 |
| --user <USER_ID> | current | 指定哪些用户运行,如果不指定则使用当前用户 |
二、内存与进程操作
1.内存操作
获取heap文件:adb shell am dumpheap [参数] <process>
| 参数 | 说明 |
| --user <USER_ID> | current | 指定哪些用户运行,如果不指定则使用当前用户 |
| -n | 获取native heap而不是managed heap |
例如:
adb shell am dumpheap com.android.browser /data/local/tmp/test.hprof
#获取内存快照(后缀名必需为.hprof)
使用adb pull /data/local/tmp/test.hprof e:\命令将testr.hprof文件保存到电脑本地
使用命令:hprof-conv e:\test.hprof e:\test1.hprof进行文件转化
然后就可以使用mat工具对内存进行查看分析
2.进程操作
adb shell am force-stop [参数] <process>
#强制停止应用(process=包名)
adb shell am kill [参数] <process>
#停止后台单个进程
adb shell am kill-all
#停止后台所进程
三、调试相关操作
1.性能相关
截图来自极客学院

Traceview是android平台配备一个很好的性能分析的工具。它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到method。
2.监听异常
监听crash和ANR:adb shell monitor [options]
【android】Android am命令使用的更多相关文章
- 我的Android第四章:Android的adb命令使用以及SQlite数据库运用
adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用. adb有什么用?:借助adb工具,我们可以管理设备或手机模拟器的状态.还可以进行很多手机操作, ...
- Android测试——adb命令
Adb (Android Debug Bridge)起到调试桥的作用. 通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序.adb采用监听Socket TCP 5554等端口 ...
- Android 常用 adb 命令
查看原文:http://blog.csdn.net/u010818425/article/details/52266593 (一)基础操作 安装app adb install -r xxx.apk / ...
- Android执行shell命令
一.方法 /** * 执行一个shell命令,并返回字符串值 * * @param cmd * 命令名称&参数组成的数组(例如:{"/system/bin/cat", &q ...
- Android 常用 adb 命令总结
Android 常用 adb 命令总结 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命 ...
- Android的logcat命令详解
前言 欢迎大家我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net ...
- 【转】Android 常用 adb 命令总结
原文地址:http://testerhome.com/topics/2565 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Andr ...
- Android 常用 adb 命令总结【转】
原文链接 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中 ...
- [Android] 基于 Linux 命令行构建 Android 应用(七):自动化构建
本章将演示如何基于 Linux 命令行构建 Android 应用,在开始本章之前,希望你已经阅读之前几章内容. 本文环境为 RHEL Sandiego 32-bits,要基于 Linux CLI 构建 ...
- [Android] 基于 Linux 命令行构建 Android 应用(二):命令行管理项目
创建 Android 项目 在命令行创建 Android 项目需要用到 android 工具(该工具由 Android SDK 提供,位于 <sdk>/tools/ 目录下.).它能自动生 ...
随机推荐
- (zhuan)Python 虚拟环境:Virtualenv
Python 虚拟环境:Virtualenv zhuanzi: http://liuzhijun.iteye.com/blog/1872241 virtualenv virtualenv用于创建独立的 ...
- 可编辑的div元素去除粘贴复制带来的额外样式,实现纯文本粘贴
$(function(){ var update = function(original){ var new_content = $('.testmr').html(); var new ...
- 易图软件之EaseMap Desktop 1.0发布
概述 易图软件之EaseMap Desktop 1.0是一款基于arcgis runtime for wpf开发的地图编辑软件. 软件代码编写历时1个月终于完成. 目前这个版本的功能包括: 地图基本操 ...
- 第五章 搭建 S3C6.410 开发板的 测试环境
一.简介: 对于嵌入式驱动开发者来说,你必须要了解什么是开发板:它与我们经常用的手机类似, 包含了显示屏. 键盘. Wi-Fi. 蓝牙等模块等,是开发者必备的硬件设备.但与手机不同的是:在开发板上安装 ...
- HttpFox插件安装和打开教程
HttpFox插件安装教程 1.打开火狐浏览器,选择右上角的打开菜单 2.选择附加组件,在获取附件组件栏中搜索HttpFox插件 3.找到HttpFox插件选择安装 4.安装完成后选择左边的扩展栏确认 ...
- NSUserDefaults
一.了解NSUserDefaults以及它可以直接存储的类型二.使用 NSUserDefaults 存储自定义对象1.将自定义类型转换为NSData类型2.将自定义类型数据存入 NSUserDefau ...
- Flume NG安装部署及数据采集测试
转载请注明出处:http://www.cnblogs.com/xiaodf/ Flume作为日志收集工具,监控一个文件目录或者一个文件,当有新数据加入时,采集新数据发送给消息队列等. 1 安装部署Fl ...
- mysql数据库的基本操作
mysql数据库的基本操作dos命令启动mysql服务:net start mysql启动数据库: mysql -uroot -p查看所有的数据库:show databases:新建数据库:creat ...
- 如何能让hadoop或者spark等处理excel文件——保存成csv
工作中遇到一个表,用来筛选信息. 但是表现在是excel,为了能在spark中使用,找了下解决办法 http://stackoverflow.com/questions/4125385/java-ho ...
- Git标签和别名管理
一.Git标签管理 标签类似于快照功能,可以给版本库打一个标签,记录某个时刻库的状态,也可以随时恢复到该状态 例如给master打一个v1.0的标签 先切换到master分支上去git checkou ...