1. 参考文章: https://blog.youkuaiyun.com/u013553529/article/details/80296870
2. PC --- Android多台设备注意事项:
2.1 adb 指令需要添加指定设备
比如:输入 adb devices
显示:AAAAAAAAAAAA device -->设备A
BBBBBBBBBBBB device -->设备B
那么跟设备A 用adb通讯应操作如下:
adb -s AAAAAAAAAAAA shell am broadcast -a NotifyRMUsbServiceStart
跟设备B 用adb通讯应操作如下:
adb -s BBBBBBBBBBBB shell am broadcast -a NotifyRMUsbServiceStart
2.2.与多台设备建立socket
注意android为服务端,android设备多台,不同设备的socket port可以相同。
但是PC只有一台,PC跟每台Android设备socket通讯绑定的port 需要不同。
java案例:
PC程序扫描不同的Android设备,根据Android设备的serialno 不同赋予设备不同的port. 比如:10001~19999
1>.adb forward 建立tcp连接 //mDeviceInfo.getMapPort() 不同的设备对应的port不同。
”adb -s AAAAAAAAAAAA shell forward tcp:mDeviceInfo.getMapPort() tcp:9600“
”adb -s BBBBBBBBBBBB shell forward tcp:mDeviceInfo.getMapPort() tcp:9600“
2>.代码socket实现:
static Socket mSocket = null;
mSocket = new Socket("127.0.0.1", mDeviceInfo.getMapPort());
>如:设备A赋予它的port为 10001
设备B赋予它的port为 10002
那么设备A/B建立连接步骤:
adb -s AAAAAAAAAAAA shell forward tcp:10001 tcp:9600
new Socket("127.0.0.1", 10001);
---------------------------------
adb -s BBBBBBBBBBBB shell forward tcp:10002 tcp:9600
new Socket("127.0.0.1", 10002);