基本操作
列出当前所有设备名,包含真机和模拟器
adb devices
开启 adb 调试桥
adb start-server
关闭 adb 调试桥,当 Logcat 显示设备 offline 时可用通过重启调试桥恢复功能
adb kill-server
连接到模拟器
adb -e shell
连接到真机
adb -d shell
连接到指定设备
adb -s <device_name> shell
显示手机的硬件信息( device model 等)
adb shell cat system/build.prop
获得当前显示的 Activity(调试时非常有用)
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
应用相关
安装应用
adb install <apk>
卸载应用
adb uninstall <packageName>
显示所有安装的应用
adb shell pm list packages
打开 Schema
adb shell am start -W -a android.intent.action.VIEW -d <schema> <packageName>
-
-a
指定 action -
-d
指定 data uri
打开 Activity
adb shell am start -n <packageName>/<targetActivity> [-e somekey somevalue]
-
-e
相当于向 intent 放入 String 类型的 extra 参数。-ei
则为 int 类型 value,-el
为 long 类型 value,其它类推
注意:如果该 Activity 不是 Main Activity 的话,则必须设置
android:export=“true”
,否则会报没有权限
关闭应用
adb shell am kill <packageName>
文件操作
拷贝文件到手机
adb push <local_path> <remote_path>
从手机拷贝文件
adb pull <remote_path> <local_path>
截图
adb shell screencap -p <filename>
-
-p
表示保存为 png 格式,不指定的话则指定的 filename 必须包含后缀名
录制视频
目前不支持模拟器
进行录制
adb shell screenrecord /sdcard/demo.mp4
取出视频
adb pull /sdcard/demo.mp4
Wakelock
显示所有 wakelock 情况
adb shell cat /sys/kernel/debug/wakeup_sources
显示电源状况
adb shell dumpsys power
验证是否及时释放了 wakelock
- 按下电源键关闭屏幕
- 等待 20s 左右
- 执行
adb shell dumpsys power | grep PARTIAL
,查看输出结果是否有这样的形式PARTIAL_WAKE_LOCK ‘AudioOut_2’ activated(minState=0, uid=1013, pid=157)
- 重复 2-4 多次,如果还是一直能获得该锁则证明其存在 Bug,没有正常释放锁