admin 管理员组

文章数量: 887018

文章目录

    • 前言
    • 设备连接管理
    • 常用 adb 命令
    • 参考

前言

我们开发手机 app 应用,手机开启调试模式,用数据线连上手机,就能对手机进行 debug 开发。然而,智能电视并没有手机的 micro usb 接口,并不能连数据线进行直接调试(据说,用 USB to USB 数据线连接智能电视,也无法识别),这时需要使用 adb 命令连接和调试智能电视。

设备连接管理

1. 查询已连接设备/模拟器
命令:

adb devices

输出示例:

List of devices attached
cf264b8f	device
emulator-5554	device
10.129.164.6:5555	device

以上输出显示当前已经连接了三台设备/模拟器,cf264b8f、emulator-5554 和 10.129.164.6:5555 分别是它们的 SN 。

常见异常输出:
1.没有设备/模拟器连接成功。
List of devices attached
2.设备/模拟器未连接到 adb 或无响应。

List of devices attached
cf264b8f	offline

2. USB 连接
通过 USB 连接来正常使用 adb 需要保证几点:

  1. 硬件状态正常。
    包括 Android 设备处于正常开机状态,USB 连接线和各种接口完好。

  2. Android 设备的开发者选项和 USB 调试模式已开启。
    可以到「设置」-「开发者选项」-「Android 调试」查看。
    如果在设置里找不到开发者选项,那需要通过一个彩蛋来让它显示出来:在「设置」-「关于手机」连续点击「版本号」7 次。

  3. 设备驱动状态正常。
    这一点貌似在 LinuxMac OS X 下不用操心,在 Windows 下有可能遇到需要安装驱动的情况,确认这一点可以右键「计算机」-「属性」,到「设备管理器」里查看相关设备上是否有黄色感叹号或问号,如果没有就说明驱动状态已经好了。否则可以下载一个手机助手类程序来安装驱动先。

  4. 通过 USB 线连接好电脑和设备后确认状态。
    adb devices
    如果能看到
    xxxxxx device
    说明连接成功。

3. 无线连接(Android11 及以上)
Android 11 及更高版本支持使用 Android 调试桥 (adb) 从工作站以无线方式部署和调试应用。例如,您可以将可调试应用部署到多台远程设备,而无需通过 USB 实际连接设备。这样就可以避免常见的 USB 连接问题,例如驱动程序安装方面的问题。

官方文档

操作步骤:

  1. 更新到最新版本的 SDK 平台工具(至少30.0.0)。

  2. 将 Android 设备与要运行 adb 的电脑连接到同一个局域网,比如连到同一个 WiFi。

  3. 在开发者选项中启用无线调试。

  4. 在询问要允许在此网络上进行无线调试吗?的对话框中,点击允许。

  5. 选择使用配对码配对设备,使用弹窗中的 IP 地址和端口号。
    adb pair ipaddr:port

  6. 提示 Enter pairing code: 时输入弹窗中的配对码,成功后会显示 Successfully paired to …。

  7. 使用无线调试下的 IP 地址和端口。
    adb connect ipaddr:port

  8. 确认连接状态。
    adb devices
    如果能看到
    ipaddr:port device
    说明连接成功。

4. 无线连接(需要借助 USB 线)
除了可以通过 USB 连接设备与电脑来使用 adb,也可以通过无线连接——虽然连接过程中也有需要使用 USB 的步骤,但是连接成功之后你的设备就可以在一定范围内摆脱 USB 连接线的限制啦!

操作步骤:

  1. 将 Android 设备与要运行 adb 的电脑连接到同一个局域网,比如连到同一个 WiFi。

  2. 将设备与电脑通过 USB 线连接。
    应确保连接成功(可运行 adb devices 看是否能列出该设备)。

  3. 让设备在 5555 端口监听 TCP/IP 连接:
    adb tcpip 5555

  4. 断开 USB 连接。

  5. 找到设备的 IP 地址。
    一般能在「设置」-「关于手机」-「状态信息」-「IP地址」找到,也可以使用下文里 查看设备信息 - IP 地址 一节里的方法用 adb 命令来查看。

  6. 通过 IP 地址连接设备。
    adb connect <device-ip-address>
    这里的 就是上一步中找到的设备 IP 地址。

  7. 确认连接状态。
    adb devices
    如果能看到
    <device-ip-address>:5555 device
    说明连接成功。

如果连接不了,请确认 Android 设备与电脑是连接到了同一个 WiFi,然后再次执行 adb connect <device-ip-address> 那一步;

如果还是不行的话,通过 adb kill-server 重新启动 adb 然后从头再来一次试试。

断开无线连接

命令:
adb disconnect <device-ip-address>

常用 adb 命令

1. 查看所有应用
命令:

adb shell pm list packages

2. 查看系统应用
命令:

adb shell pm list packages -s

3. 查看第三方应用
命令:

adb shell pm list packages -3

4. 查看包名包含某字符串的应用
比如要查看包名包含字符串 mazhuang 的应用列表,命令:

adb shell pm list packages mazhuang

5. 安装 APK
命令:

adb install [-lrtsdg] <path_to_apk>

6. 卸载应用
命令:

adb uninstall [-k] <packagename>

7. 清除应用数据与缓存
命令:

adb shell pm clear <packagename>

8. 查看前台 Activity
命令:

adb shell dumpsys activity activities | grep mResumedActivity

9. 查看正在运行的 Services
命令:

adb shell dumpsys activity services [<packagename>]

10. 查看应用详细信息
命令:

adb shell dumpsys package <packagename>

11. 查看应用安装路径
命令:

adb shell pm path <PACKAGE>

12. 查看 log
命令:

adb logcat

13. 获取机器 MAC地址
命令:

adb shell  cat /sys/class/net/wlan0/address

14.获取 CPU 序列号
命令:

adb shell cat /proc/cpuinfo

15.获取设备名称
命令:

adb shell cat /system/build.prop

16.复制设备里的文件到电脑
命令:

adb pull <设备里的文件路径> [电脑上的目录]

17.复制电脑里的文件到设备
命令:

adb push <电脑上的文件路径> <设备里的目录>

18.列出目录下的文件和文件夹,等同于 dos 中的 dir 命令
命令:

adb shell ls

19.进入文件夹,等同于dos中的cd 命令
命令:

adb shell cd <folder>

20.重命名文件
命令:

adb shell rename path/oldfilename path/newfilename

21.删除system/avi.apk
命令:

adb shell rm /system/avi.apk

22.删除文件夹及其下面所有文件
命令:

adb shell rm -r <folder>

23.移动文件
命令:

adb shell mv path/file newpath/file

24.新建文件夹
命令:

adb shell mkdir path/foldelname

25.查看文件内容
命令:

adb shell cat <file>

参考

  • Awesome Adb

本文标签: 命令行 常用 项目 设备 Android