adb常用指令
adb 的运行原理是 PC 端的 adb server 与手机端的守护进程 adbd 建立连接,然后 PC 端的 adb client 通过 adb server 转发命令,adbd 接收命令后解析运行。
1、查询已连接设备/模拟器
adb devices
2、查看应用列表
adb shell pm list packages
在 adb shell pm list packages 的基础上可以加一些参数进行过滤查看不同的列表:
系统应用命令:
adb shell pm list packages -s
第三方应用命令:
adb shell pm list packages -3
过滤包名命令:
adb shell pm list packages | findstr mazhuang
3、安装 APK
adb install [-t] <apk>
参数:
-l将应用安装到保护目录 /mnt/asec
-r允许覆盖安装
-t允许安装 AndroidManifest.xml 里 application 指定 android:testOnly="true" 的应用
-s将应用安装到 sdcard
-d允许降级覆盖安装
-g授予所有运行时权限
4、清除应用数据与缓存
adb shell pm clear <packagename>
5、查看前台 Activity
adb shell dumpsys activity activities | grep Focuse
6、查看正在运行的 Services
adb shell dumpsys activity services [<packagename>]
<packagename> 参数不是必须的,指定 <packagename> 表示查看与某个包名相关的 Services,不指定表示查看所有 Services。<packagename> 不一定要给出完整的包名,比如运行 adb shell dumpsys activity services org.mazhuang,那么包名 org.mazhuang.demo1、org.mazhuang.demo2 和 org.mazhuang123 等相关的 Services 都会列出来。
7、查看应用详细信息
adb shell dumpsys package <packagename>
8、启动应用/ 调起 Activity/调起 Service/ 发送广播
1、查看已安装应用命令 adb shell pm list packages
2、查找某个特定应用包名 adb shell pm list packages “特定字符”
3、查看某个应用的详细信息 adb shell dumpsys package 包名
adb shell dumpsys package com.nextdoordeveloper.miperf.miperf
4、启动应用 adb shell am start 包名/activity
adb shell am start -n com.tencent.mm/.ui.LauncherUI
adb shell am startservice -n com.android.systemui/.SystemUIService
向所有组件广播 BOOT_COMPLETED:
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED
只向test.test.package/.BootCompletedReceiver 广播 BOOT_COMPLETED:
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n test.test.package/.BootCompletedReceiver
测试的时候在某个广播的场景很难制造,可以考虑通过这种方式来发送广播。
既能发送系统预定义的广播,也能发送自定义广播。如下是部分系统预定义广播及正常触发时机:
android.net.conn.CONNECTIVITY_CHANGE网络连接发生变化android.intent.action.SCREEN_ON屏幕点亮android.intent.action.SCREEN_OFF屏幕熄灭
android.intent.action.BATTERY_LOW电量低,会弹出电量低提示框android.intent.action.BATTERY_OKAY电量恢复了
android.intent.action.BOOT_COMPLETED设备启动完毕android.intent.action.DEVICE_STORAGE_LOW存储空间过低
9、复制设备里的文件到电脑
adb pull <设备里的文件路径> [电脑上的目录]
10、复制电脑里的文件到设备
adb push <电脑上的文件路径> <设备里的目录>
11、模拟按键/输入
adb shell input keyevent <keycode>
不同的 keycode 能实现不同的功能,部分keycode如下:
3HOME 键
4返回键
5打开拨号应用
6挂断电话
24增加音量
25降低音量
26电源键
27拍照(需要在相机应用里)
64打开浏览器
12、查看日志并重定向至文件
adb logcat > log.txt
13、清空日志
adb logcat -c
14、内核日志
adb shell dmesg
15、查看设备信息 型号/电池状况/显示屏参数/IMEI/ 系统版本/IP 地址/Mac 地址
adb shell getprop ro.product.model
adb shell dumpsys battery
adb shell dumpsys window displays
adb shell dumpsys iphonesubinfo
adb shell getprop ro.build.version.release
adb shell ifconfig
adb shell cat /sys/class/net/wlan0/address
16、查看实时资源占用情况
adb shell top
17、查看 系统 全局 安全设置
adb shell settings list system
adb shell settings list global
adb shell settings list secure
对应属性的存储的手机位置:
/data/system/users/0/下的对应xml文件:
ettings_global.xml,settings_secure.xml和settings_system.xml
例如:获取自动锁屏时间是
adb shell settings list system | grep timeout
screen_off_timeout=300000
设置为永不锁屏:adb shell settings put system screen_off_timeout 214748364
18、强制结束应用
adb shell am force-stop com.android.tv.settings