一、开启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 am命令使用的更多相关文章

  1. Android adb 命令使用总结

    adb原理 参考文档 How ADB works        http://www.cnblogs.com/ifantastic/p/5186362.html http://blog.csdn.ne ...

  2. Android 官方命令深入分析之android

    作者:宋志辉 android命令是一个非常重要的开发工具,它可以: 创建.删除和查看Android Virtual Devices(AVDs). 创建和更新android项目. 更新你的android ...

  3. Android ADB命令教程二——ADB命令详解

    Android ADB命令教程二——ADB命令详解 转载▼ 原文链接:http://www.tbk.ren/article/249.html       我们使用 adb -h 来看看,adb命令里面 ...

  4. android adb命令 抓取系统各种 log

    getLog.bat: adb root adb remount adb wait-for-device adb logcat -v time > C:\log.txt 在Android中不同的 ...

  5. android: shell 命令

    adb是Android重要工具之一,以提供强大的特性,例如复制文件到设备或从设备复制文件.可以使用Android Shell命令行参数连接到手机本身,并发送基本的 shell 命令. 进入命令行,使用 ...

  6. Android截图命令screencap与视频录制命令screenrecord

    Android截图命令screencap 查看帮助命令 bixiaopeng@bixiaopeng ~$ adb shell screencap -v screencap: invalid optio ...

  7. MacBook下配置android adb命令使用环境

    想在Mac下使用android adb命令,常用的两种配置方式: 在MacBook下配置adb命令环境(方法一) 1.下载并安装IDE (android studio) 人性化的安装,直接点击下一步下 ...

  8. I.MX6 Android CAN 命令行测试

    /********************************************************************* * I.MX6 Android CAN 命令行测试 * 说 ...

  9. iOS,android 常用命令

    iOS 常用命令: https://blog.csdn.net/ilikekand17/article/details/81907179 https://www.jianshu.com/p/72c62 ...

  10. 【转】Android Monkey 命令行可用的全部选项

    常规 事件 约束限制 调试 原文参见:http://www.douban.com/note/257030384/ 常规 –help 列出简单的用法. -v 命令行的每一个 -v 将增加反馈信息的级别. ...

随机推荐

  1. 20172319 《Java程序设计教程》 第10周学习总结

    20172319 2018.05.09-05.21 <Java程序设计教程>第10周学习总结 目录 教材学习内容总结 教材学习中的问题和解决过程 代码调试中的问题和解决过程 代码托管 上周 ...

  2. Leetcode题库——26.删除排序数组中的重复项

    @author: ZZQ @software: PyCharm @file: removeDuplicates.py @time: 2018/9/23 13:51 要求: 给定一个排序数组,你需要在原 ...

  3. Internet History, Technology and Security (Week2)

    Week2. History: The First Internet - NSFNet coursera address Supercomputers Justify a National Netwo ...

  4. 【转】(C#)OPC客户端源码

    本例下载/Files/badnewfish/OPC测试通过.rar 转载申明 申明:本文为转载,如需转载本文,请获取原文作者大尾巴狼啊的同意,谢谢合作! 转自:大尾巴狼啊 原文出处:http://ww ...

  5. 小学四则运算练习(JAVA编写)

    源码在Github的仓库主页链接地址:https://github.com/rucr9/rucr 看到这个题目,大概很多人会发出“切,这也太简单了吧!有必要小题大做?”的感叹!是的,仅仅作为一道数学运 ...

  6. sql%bulk_rowcount && sql%rowcount 的使用

    说明: %BULK_ROWCOUNT 属性计算FORALL迭代影响行数 在进行SQL数据操作语句时,SQL引擎打开一个隐式游标(命名为SQL),该游标的标量属性(scalar attribute)有 ...

  7. eclipse+IDEA快捷键记录

    Eclipse中自动获取 IDEA中:ctrl+alt+v==alt+shift+l 其它   (有些地方前面的C代表Ctrl .S代表Shift.A代表Alt) Ctrl+Shift+F       ...

  8. Java VM 环境配置过程要点( win10,64位)

    好些教程写的都不一样.留个脚印免得以后再安装的时候找不到完全合适的教程. 注:JDk中就有java虚拟机,即JRE.除此之外,还有许多的命令包,供java程序员使用. 安装要点: (1)安装jre(j ...

  9. 隐藏基于Dialog的MFC的主窗体

    最近需要做一个主窗体常态隐藏的程序,类似360卫士那样,只有托盘图标常显示.本以为隐藏主窗体很简单,但遇到了意想不到的情况. 无效的做法 最初的想法是设置主对话框资源的 Visiable 属性为 fa ...

  10. redis压力测试工具-----redis-benchmark

    redis做压测可以用自带的redis-benchmark工具,使用简单 压测命令:redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000 压测需要一段 ...