1. 參考文章: https://blog.csdn.net/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);