美文网首页
Android ADB常用命令总结-续

Android ADB常用命令总结-续

作者: graychen | 来源:发表于2018-01-08 14:23 被阅读0次

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

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

    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 <command> 命令,常用的 <command> 如下:

.

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

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

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

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

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

1. 调起 Activity

adb shell am start [options] <INTENT>

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

2.调起 Service/停止 Service

adb shell am startservice [options] <INTENT>   调起 Service

adb shell am stopservice [options] <INTENT>

比如: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] <INTENT>

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

向所有组件发送一个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发送的广播

4.停止某个应用

adb shell am force-stop <packagename>

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

Package Manage

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

1.查看设备所有的应用

adb shell pm list packages

添加过滤参数

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

adb shell pm list packages -s

只查看第三方应用:

adb shell pm list packages -3

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

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

adb shell pm list packages tencent 

2.清除应用数据与缓存

adb shell pm clear <packagename>

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

3.查看应用安装路径

adb shell pm path <PACKAGE>

比如:

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

模拟按键/输入(input)

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

input [<source>] <command> [<arg>...]

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

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

按一次电源键

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 [<option>] ... [<filter-spec>] ...

内核日志

adb shell dmesg

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

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

相关文章

  • Android adb常用命令

    Android adb常用命令 adb是什么 Android Debug Bridge (adb) is a ve...

  • Android 常用命令

    Android 常用命令 Dos下常用命令 adb kill-server 杀死当前adb服务 adb start...

  • ADB总结

    adb常用命令总结 1.无线adb调试(Android 设备必须和电脑在同一局域网)设置端口: adb tcpip...

  • ADB 环境配置和常用命令

    参考Android ADB常用命令以及环境配置Android 开发经常会使用ADB调试桥来进行调试。ADB 即 A...

  • adb常用命令

    ADB常用命令 adb connect+ip 远程连接Android设备 adb devices 获取设备列表和设...

  • Android ADB常用命令总结-续

    接着前几天写的ADB常用命令总结续。 接下来写一些和应用交互的一些命令,格式如adb shell am 。 ad...

  • adb 常用命令

    adb 常用命令 ADB的全称为Android Debug Bridge,就是起到调试桥的作用。ADB是andro...

  • adb,logcat使用及对Android设备的操作

    adb,logcat使用及对Android设备的操作 adb常用命令 查看连接到本机的所有的设备命令:adb de...

  • adb 常用命令大全

    adb 常用命令大全 显示系统中全部Android平台:android list targets 显示系统中全部A...

  • ADB常用命令总结

    ADB常用命令总结 •am •pm •wm •install / uninstall •push / pull •...

网友评论

      本文标题:Android ADB常用命令总结-续

      本文链接:https://www.haomeiwen.com/subject/txrbnxtx.html