1.手机连接usb线后没有反应
Checklist:
1.检查手机usb线连接是否正常,至少能够显示充电状态,否则USB线有问题。
2.(ubuntu下)lsusb 应该看到手机信息
可以看见手机vid和pid,以及厂商名字。
3.查看手机是否打开调试模式
• 点击7次版本号
• 进入开发者模式
• 打开usb调试option
2.adb devices显示unauthorized
问题现象:
Checklist:
• 开发者模式下要允许该pc进行调试
3.adb devices显示offline
问题现象:
List of devices attached
16fd092c offline
Checklist:
• 可能tcp端口5037被占用,找到占用5037端口的进程(类似手机同步助手,360同步助手在pc端安装完,会占用5037端口),如果不是adb则kill掉
(windows 使用命令行netstat –ano |findstr “5037”)
(ubuntu 使用 命令行netstat –ap | grep 5037)
• usb driver异常导致不能读写,出现offline
lsusb能看到手机信息,但是adb devices看不到设备。可能是pc端usb驱动节点被占用,需要check是否开启了虚拟机或者其他会使用usb驱动的软件,关闭相关软件后重启adb。
4.adb devices显示无权限
问题现象:
Checklist:
需要编辑本地pc的51-android.rules
-
sudo gedit /etc/udev/rules.d/51-android.rules
-
打开的文档里面输入
SUBSYSTEM==“usb”, ATTR{idVendor}==“18D1”, MODE=“0666”, GROUP=“plugdev” -
给51-android.rules赋予权限并重新启动服务
sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo service udev restart
注意:如上idVendor 写入18D1,为google的vid,其他厂商根据实际vid填入。
5.adb root问题
问题现象:
adbd cannot run as root in production builds
checklist:
一般是user版本不允许root,则会弹出如上提示。
在手机端通过getprop 命令正常情况应该可以看到ro.debuggable的值为1如下:
如果该值没有设置或不为1则提示无法root问题。