功能:无otg接口时,使用无线adb功能;
方法:通过tcp协议连接到设备上
(1)首先在system.prop文件中添加“service.adb.tcp.port=5555”,5555为端口号;
(2)开发板打开wifi或者连接网线到与开发机同一个局域网内;
(3)查询开发板(192.168.11.21)和开发机(192.168.11.2)的ip地址,然后互相ping,看是否能ping通;
以下是互相能ping执行的步骤:
(4)在开发机端使用adb工具输入以下命令:
adb connect 192.168.11.21:5555
连接成功会提示:connected to 192.168.11.21:5555
连接不成功会提示:unable to connect to :5555
连接失败后需要执行:adb kill-server,最后再重试连接;
(5)断开连接命令:
adb disconnect 192.168.11.21:5555
分析代码android5.0:
代码路径:system/core/adb/adb.c
代码:
int usb = 0;
if (access(usb_adb_path, f_ok) == 0 || access(usb_ffs_adb_ep0, f_ok) == 0) {
// listen on usb
usb_init();
usb = 1;
}
// if one of these properties is set, also listen on that port
// if one of the properties isn't set and we couldn't listen on usb,
// listen on the default port.
property_get(service.adb.tcp.port, value, );
if (!value[0]) {
property_get(persist.adb.tcp.port, value, );
}
if (sscanf(value, %d, &port) == 1 && port > 0) {
printf(using port=%d\n, port);
// listen on tcp port specified by service.adb.tcp.port property
local_init(port);
} else if (!usb) {
// listen on default port
local_init(default_adb_local_transport_port);
}
解析:首先判断是否有usb插入,有就使用有线的usb进行adb操作;
不关有没有usb插入,都读取service.adb.tcp.port参数的值,定义了service.adb.tcp.port参数,则使用tcp协议(通过网络来连接adb);
既没有插入usb,也没有定义service.adb.tcp.port参数,则使用tcp协议;
福建三星s5p6818开发板友坚恒天科技专注于三星平台产品的研发,是三星在中国zui具实力的方案公司。公司专注于中高端产品的研发,具有多年的嵌入式产品研发经验;基于三星 a15-exynos5260/5410/5250、a53_s5p6818、a9-s5p4418、a9-exynos 4412、a8-s5pv210、arm11-s3c6410、arm9-s3c2416 等处理器,开发了系列化的产品,为客户提供了全面的产品选择及专业化的量身定制 mid 解决方案。友坚恒天科技服务于国内外平板电脑品牌商,并为行业客户提供一站式的解决方案;在为客户打造zui具竞争力优势的产品的同时,也实现了自身的价值。