常用 adb 命令

Table Of Contents

ADB 命令很多,本文只介绍实际常用的那些命令

常用 adb 命令

基本操作

列出当前所有设备名,包含真机和模拟器

adb devices

开启 adb 调试桥

start-server

关闭 adb 调试桥,当 Logcat 显示设备 offline 时可用通过重启调试桥恢复功能

kill-server

显示手机硬件信息,包括 device model 等

adb shell cat system/build.prop

应用相关

安装应用

adb install <apk>

卸载应用

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 push <local_path> <remote_path>

从手机拷贝文件

adb pull <remote_path> <local_path>

截图

adb shell screencap -p <filename>
  • -p 表示保存为 png 格式,不指定的话 filename 必须指定后缀名。

wakelock

显示所有 wakelock 情况

adb shell cat /sys/kernel/debug/wakeup_sources

显示电源状况

adb shell dumpsys power

查找一个应用是否错误地占用了 wakelock

  1. 按下电源键关闭屏幕
  2. 等待 20s
  3. 执行 adb shell dumpsys power | grep PARTIAL,查看输出结果是否有这样的形式 PARTIAL_WAKE_LOCK ‘AudioOut_2’ activated(minState=0, uid=1013, pid=157)
  4. 重复 2-4 多次,如果还是一直能获得该锁则证明其存在 Bug,没有正常释放锁