多台PC网络ADB连接同一台RK3399 Android7.1.2设备

在RK3399 Android7.1.2上面,进行网络ADB调试时,如果多台电脑连接同一台Android设备,第一台连接上的能正常操作,之后连接的看到设备状态为OFFLINE,分析了下ADBD相关代码,发现在ACCEPT Client的时候没有区分别名处理,故对相关代码做了修改处理:

修改system/core/adb/transport_local.cpp文件如下内容:
在static void server_socket_thread(void* arg)函数里,将如下内容:

register_socket_transport(fd, "host", port, 1);

修改为:

std::string serial = android::base::StringPrintf("host-%d", fd);
if (register_socket_transport(fd, serial.c_str(), port, 1) != 0) {
    adb_close(fd);
}

完整的git diff信息如下截图:

Allow multiple tcp adb connection to same device

修改完后,重新编译就可以正常使用了。

你可能感兴趣的:(多台PC网络ADB连接同一台RK3399 Android7.1.2设备)