接着前几天写的ADB常用命令总结 续。

    接下来写一些和应用交互的一些命令,格式如 adb shell  am

    adb shell 我总结分为 am命令 和 pm命令。

    那么 adb命令和adb shell命令有什么区别呢?adb命令是adb这个程序自带的一些命令,而adb shell则是调用的Android系统中的命令,这些Android特有的命令都放在了Android设备的系统/ bin目录下。通过这些命令可以和Android系统的一些软件交互。其实上一篇文章已经有过一些adb shell 命令了。比如adb shell pm list packages 查看应用

Activity Manage

am 即 Activity Manage .使用它可以启动一个Activity 、Service 、Broadcast 

主要是使用 am  命令,常用的  如下:


Android ADB常用命令总结-续_第1张图片 .

 参数很灵活,和写 Android 程序时代码里的 Intent 相对应,参数如下:

-a    指定 action,比如 android.intent.action.VIEW

-c 指定 category,比如 android.intent.category.APP_CONTACTS

-n  指定完整 component 名,用于明确指定启动哪个 Activity,如 com.example.app/.ExampleActivity

 里还能带数据,就像写代码时的 Bundle 一样

1. 调起 Activity

adb shell am start [options]

比如:adb shell am start -n com.tencent.mm/.ui.LauncherUI  调用微信的界面

2.调起 Service/停止 Service

adb shell am startservice [options]   调起 Service

adb shell am stopservice [options]

比如:adb shell am startservice -n com.tencent.mm/.**.Service

adb shell am stopservice  -n com.tencent.mm/.**.Service

调用微信下的某个Service

3.发送广播

adb shell am broadcast [options]

发送广播可以是向所有组件发送广播,也可以是只向某个组件发送一个广播

向所有组件发送一个BOOT_COMPLETED广播:

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED

向单个组件发送一个BOOT_COMPLETED广播:

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n cn.com.quickpark/.MyBrocastReceiver

使用 -a 广播名 -n 接收的Receiver 。这一条am 命令很使用 比如说我们的开机广播、电量广播比较难捕获,可以自己发送一条广播,就很容易测试我们的程序

下面是可以用adb发送的广播


Android ADB常用命令总结-续_第2张图片 Android ADB常用命令总结-续_第3张图片

4.停止某个应用

adb shell am force-stop

比如:adb shell am force-stop cn.com.quickpark ,表示停止cn.com.quickpark 下的一切进程

Package Manage

pm 即 Package Manage,用于和一些应用相关的命令

1.查看设备所有的应用

adb shell pm list packages

Android ADB常用命令总结-续_第4张图片

添加过滤参数

在后面 添加一个命令过滤 比如只查看系统应用:

adb shell pm list packages -s

只查看第三方应用:

adb shell pm list packages -3

包名包含某字符串的应用:

查看包名包含字符串 tencent 的应用列表

adb shell pm list packages tencent 

Android ADB常用命令总结-续_第5张图片

2.清除应用数据与缓存

adb shell pm clear

效果相当于在设置里的应用信息界面点击了「清除缓存」和「清除数据」。比如:adb shell pm clear com.qihoo360.mobilesafe 清除 360 手机卫士的数据和缓存

3.查看应用安装路径

adb shell pm path

比如:

adb shell pm path cn.com.quickpark 。输出package:/data/app/cn.com.quickpark-1.apk

模拟按键/输入(input)

另外 还有一个比较实用的功能就是input。开发中可以用它方便很多操作。格式如下:

input [] [...]

查看 input 命令的完整 help 信息如下:


Android ADB常用命令总结-续_第6张图片

比如使用 adb shell input keyevent  命令,不同的 keycode 能实现不同的功能,部分Keycode如下:


Android ADB常用命令总结-续_第7张图片

按一次电源键

adb shell input keyevent 26

菜单键

adb shell input keyevent 82

滑动解锁

如果锁屏没有密码,是通过滑动手势解锁,那么可以通过 input swipe 来解锁。

命令(参数以机型 Nexus 5,向上滑动手势解锁举例):

adb shell input swipe 300 1000 300 500

参数 300 1000 300 500 分别表示起始点x坐标 起始点y坐标 结束点x坐标 结束点y坐标

查看日志

Android 系统的日志分为两部分,底层的 Linux 内核日志输出到 /proc/kmsg,Android 的日志输出到 /dev/log

[adb] logcat [

内核日志

adb shell dmesg


Android ADB常用命令总结-续_第8张图片

中括号里的 [14201.684016] 代表内核开始启动后的时间,单位为秒。

通过内核日志我们可以做一些事情,比如衡量内核启动时间,在系统启动完毕后的内核日志里找到 Freeing init memory 那一行前面的时间就是

更多相关文章

  1. adb logcat命令查看并过滤android输出log
  2. Android学习系列(29)--App调试的几个命令实践
  3. webview中的javascript调用android命令实现android latex显示
  4. 【转官方】Android ADB调试命令、支持的命令、ADB文档
  5. 《Android内核剖析》读书笔记 第18章 Android编译系统
  6. Android adb 我的常用调试命令记录(持续更新中...)
  7. android设备常用的adb命令

随机推荐

  1. SQL Server手工插入标识列的方法
  2. sql语句like多个条件的写法实例
  3. 浅谈mssql access数据库 top分页方法
  4. 用SQL脚本读取Excel中的sheet数量及名称
  5. 一个删选数据的例子,使用GROUP、DISTINCT
  6. sql注入数据库修复的两种实例方法
  7. SQL多表连接查询实例分析(详细图文)
  8. SQL中WHERE变量IS NULL条件导致全表扫描
  9. SQL cursor用法实例
  10. Sqlserver 表类型和表变量介绍