Android am 命令使用

一、开启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退出监听才可以

时间: 2024-11-07 19:45:49

Android am 命令使用的相关文章

android 用命令行打包生成 apk

android 用 ant 进行 build. android sdk 下面的 tools/ant 下面的 build.xml 就是 build 的整个过程. 其中的 build 参数可在 ant.properties 文件中进行 override.也可以自己定制 build 的脚本. 用 ant build 非常简单 1)安装 ant 并加入到系统 path 变量中 2)为项目生成 build.xml android update project -p . 3)生成 debug 版本 ant

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

想在Mac下使用android adb命令,常用的两种配置方式: 在MacBook下配置adb命令环境(方法一) 1.下载并安装IDE (android studio) 人性化的安装,直接点击下一步下一步就可以完成安装啦 2.配置环境 在安装完成之后,将android的adb工具所在目录加入环境变量里面去  在终端中输入 sudo vim ~/.bash_profile ,打开 .bash_profile文件.按 i 进入输入模式,在文件内容的末尾加入以下内容: #Setting PATH fo

I.MX6 Android CAN 命令行测试

/********************************************************************* * I.MX6 Android CAN 命令行测试 * 说明: * 这里使用can-utils测试一下CAN驱动. * * 2016-8-9 深圳 南山平山村 曾剑锋 ********************************************************************/ 一.shell 命令流程: 1. netcfg c

Android 官方命令深入分析之android

作者:宋志辉 android命令是一个非常重要的开发工具,它可以: 创建.删除和查看Android Virtual Devices(AVDs). 创建和更新android项目. 更新你的android SDK. 如果你在使用Android Studio或者eclipse,android命令已经被整合到IDE中.所以你无需直接在命令行运行.要想查看android命令的介绍,可以运行android –help命令. 语法 android [global 选项] action [action 选项]

史上最强劲的android模拟器命令详解

史上最强劲的android模拟器命令详解 转http://www.eoeandroid.com/thread-23281-1-1.html Android模拟器ndroid SDK自带一个移动设备模拟器 - 它是一个可以运行在你电脑上的虚拟设备. Android模 拟器可以让你不需使用物理设备即可预览.开发和测试Android应用程序. Android模拟器能够模拟除了接听和拨打电话外的所有移动设备上的典型功能和行为. 如右图所示, Android模拟器提供了大量的导航和控制键,你可以通过鼠标或

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

Android截图命令screencap 查看帮助命令 [email protected] ~$ adb shell screencap -v screencap: invalid option -- v usage: screencap [-hp] [-d display-id] [FILENAME] -h: this message -p: save the file as a png. -d: specify the display id to capture, default 0. If

iOS,android 常用命令

iOS 常用命令: https://blog.csdn.net/ilikekand17/article/details/81907179 https://www.jianshu.com/p/72c62b079e1e android 常用命令: https://www.jianshu.com/p/ccd35afa8470 原文地址:https://www.cnblogs.com/zhang-dan/p/11018798.html

[Android] adb 命令 dumpsys activity , 用来看 task 中的activity。 (uninstall virus)

用“adb shell dumpsys activity”命令再来查看一下系统运行的的任务,就会看到: ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities) Stack #0: Task id #1 TaskRecord{42db5500 #1 A=com.google.android.googlequicksearchbox U=0 sz=1} Intent { act=android.intent.action.MAIN cat=

android adb 命令详解

ADB (Android Debug Bridge)  是android SDK中的工具,需要先配置环境变量才能使用.起调试桥的作用,可以管理安卓设备.(也叫debug工具) ---------查看设备连接状态 ----------- adb get-serialno  获取设备的ID和序列号<serialNumber> adb devices  查询当前计算机上连接那些设备(包括模拟器和手机) adb get-state  查看模拟器/设施的当前状态. ----------发送命令到设备 -

Android 开发命令行完全攻略

作为命令行的爱好者,我想写这个主题已经有好一段时间了.除了显得很酷之外,命令行的使用能够提高我们的开发效率,因为相比通过鼠标点击一系列的菜单选项,使用键盘输入几个字符并点击 TAB 健显然会快很多. 本文的目的是跟大家分享在我的 Android 开发实践中对命令行的运用. iTerm2 由于我们将会在命令行中进行后续的工作,因此如果能够安装一个比系统默认命令行更好的工具那显然是不错的,那么请下载 iTerm21 吧! iTerm2 将命令行带入了现代化时代,提供了很多你一直想要的特性.其中包含了