ADB是Android系统的调试工具,一般用USB线连接开发板和PC,可以抓取开发板的调试日志,执行shell指令,传输文件等功能。为了调试方便,RK平台的Linux系统也默认支持ADB,其源码是从Android移植过来的。
本文档主要用于新开的项目中遇到ADB不识别,可以按下面步骤来排查问题。
RK发布的大部分SDK默认是支持通过ADB连接PC的,如果板子通过USB线连接PC后,PC识别不到ADB设备,需要先确认几个问题:
sudo apt-get install android-tools-adb
安装,请确保能正常执行ADB指令。adb devices
)来确认ADB连接状态。如果以上确认没问题,可能是板子配置或者应用软件问题,需要进一步排查。
软件配置需要根据板子的硬件设计来适配,因此需要根据硬件原理图来检查USB配置。
diff --git a/device.mk b/device.mk
index b666b84..d6047d3 100644
--- a/device.mk
+++ b/device.mk
@@ -904,7 +904,7 @@ endif
### in AOSP-system image (user firmware) ###
ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
- ro.adb.secure=0
+ ro.adb.secure=1
PRODUCT_COPY_FILES += \
device/rockchip/common/zmodem/rz:$(TARGET_COPY_OUT_VENDOR)/bin/rz \
device/rockchip/common/zmodem/sz:$(TARGET_COPY_OUT_VENDOR)/bin/sz
--
2.7.4
部分buildroot系统默认不支持ADB,在添加ADB过程如果遇到启动ADB报错,可以检查以下几个问题:
# ifconfig lo up
# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
mkdir -p /dev/pts
mount -vt devpts -o gid=4,mode=620 none /dev/pts
如果要开启网络ADB,请确认是否有设置端口号,设置端口号的指令(Android):
# setprop service.adb.tcp.port 5555
# stop adbd
# start adbd
buildroot不支持Host端用ADB,Debian或者ubuntu可以自己用: sudo apt-get install android-tools-adb
安装ADB工具来支持Host端用ADB,Android可以通过添加可执行文件来支持Host端的ADB。