Android系統預設隻能通過IP(10.0.2.2)單向通路PC電腦,而PC電腦不能通過IP來直接通路Android模拟器系統。要想實作PC電腦和Android模拟器系統以及Android模拟器之間互相通信必須借助端口重定向(redir)來實作。
先說說端口重定向所需要的telnet用戶端安裝:
windows:
安裝telnet用戶端。如果沒有安裝,可以在windows程式管理中的打開或關閉系統功能下找到telnet用戶端菜單項來啟用telnet用戶端功能。
linux:
自行安裝telnet用戶端。
一、PC電腦不能直接通路Android模拟器系統的原因
Android系統為實作通信将PC電腦IP設定為10.0.2.2,自身為10.0.2.15/127.0.0.1。然而PC電腦并沒有為Android模拟器系統指定IP,是以PC隻能通過端口重定向來實作和Android模拟器的通信。
二、PC電腦和Android模拟器系統之間通信
1、運作模拟器
2、打開window 指令行,執行:
1 | telnet localhost 5554 |
5554是模拟器的端口(位于Android模拟器視窗标題欄),執行之後會進入android console
3、在console下執行:
1 2 3 | 格式:redir add < udp/tcp >: < pc端口 >: < 模拟器端口 > 例如:redir add udp:2888:2888 redir add tcp:2888:2888 |
執行此指令之後,會把PC 2888 端口接收到的tcp/udp資料轉到模拟器的2888端口。
三、多個Android模拟器系統之間通信
1、啟動模拟器emulator-5554和emulator-5556
2、打開dos視窗執行telnet localhost 5554連接配接到模拟器5554
3、成功連接配接後,繼續執行:redir add tcp:5000:6000将PC端口5000綁定到模拟器5554的端口6000上。
4、此時模拟器5556通過向PC電腦端口5000(即位址:10.0.2.2:5000)發送tcp/udp資料包跟模拟器5554通信。
5、同理根據步驟2、3來實作PC電腦對模拟器5556的端口轉發。
添加成功後,我們可以用redir list指令來列出已經添加的映射端口,redir del可以進行删除。
相信隻要了解了PC電腦和Android模拟器系統之間通信,便知道怎麼實作多個模拟器之間通信。