STF 手機設備管理平台------ 連接其它操作系統上的安卓設備實操介紹
一、背景
stf 連接各操作系統上安卓設備的操作方法分享,
二、目的
-
將沒有安裝stf組件電腦上連接的android設備,添加映射到裝有stf平台服務的機器上(可以看作Master-Slave主從關系)
三、環境前置
-
環境示例1:
-
Mac 服務器,安裝stf完整組件,作為master節點。[IP:172.17.9.49]
-
Windows,未安裝stf,支持android sdk 。[IP:172.17.9.20]
-
Liunx,未安裝stf,支持android sdk。[IP:10.16.6.63]
-
三台電腦網絡互通。
環境示例2:
Centos : 安裝stf完整組件,作為master節點.(10.24.51.1)
-
Windows,未安裝stf,支持android sdk 。[IP:10.24.12.234],這台機器通過USB插入一台華為手機。要求能連接到主節點的手機管理界面中。
四、環境示例1的描述
下述截圖僅供演示說明,其中,IP及端口划分因實際情況而定
-
Mac STF服務本機上連有的android設備:
-
Windows機器上連有的android設備:
-
Linux機器上連有的android設備(通過wifi模式連接):
五、環境示例1的實際操作
windows 上啟動 adb server 並對外暴露 5037 端口:
adb 如果是1.0.32版本以下的,使用如下命令
>adb -a -P 5037 fork-server server
在1.0.32以上的,如adb 1.0.39版本下,WINDOWS下DOS命令,啟動后台SERVER的命令為
adb nodaemon server -a -P 5037
Linux 上啟動adb server並對外暴露5037端口
adb -a -P 5037 fork-server server
在Mac 上啟動stf服務
stf local --public-ip 172.17.9.49 --allow-remote
如果不知道triproxy dev 具體的端口配置情況或者不知道stf provider命令如何寫的同學,可以通過分析日志得出,如下紅框標紅的區域:
通過配置 adb host 的方式連上 windows 主機上的設備
在Mac服務器上,執行下述命令【其中127.0.0.1可換成實際IP172.17.9.49】:
stf provider --name mikezhoudeMac-mini.local --min-port 7400 --max-port 7700 --connect-sub tcp://127.0.0.1:7114 --connect-push tcp://127.0.0.1:7116 --group-timeout 20000 --public-ip 172.17.9.49 --storage-url http://localhost:7100/ --adb-host 172.17.9.20 --adb-port 5037 --vnc-initial-size 600x800 --allow-remote
Windows連接啟動成功后的日志,如下所示:
stf provider --name mikezhoudeMac-mini.local --min-port 7400 --max-port 7700 --connect-sub tcp://127.0.0.1:7114 --connect-push tcp://127.0.0.1:7116 --group-timeout 20000 --public-ip 172.17.9.49 --storage-url http://localhost:7100/ --adb-host 10.16.6.63 --adb-port 5037 --vnc-initial-size 600x800 --allow-remote
Liunx連接啟動成功后的日志,如下所示:
下述日志,說明windows上的安卓設備已經連接成功:
下述日志,說明liunx上的安卓設備已經連接成功:
六、環境示例2的實際操作:
1.在windows機器上運行啟動adb server並對外暴露5037端口
adb 1.0.39版本下,WINDOWS下DOS命令,啟動后台SERVER的命令為
adb nodaemon server -a -P 5037
adb 1.0.32版本以下的,
>adb -a -P 5037 fork-server server
2.在centos上查看stf的docker進程,並進入docker內部,運行stf的服務
Docker ps –a (查看出stf的docker進程號)
docker exec -it 4dc5b68d18cc /bin/sh (這個號是stf進程號,進入docker容器內)
在這個容器內部運行下面的命令,運行stf服務
stf local --public-ip 10.24.51.1 --allow-remote
3.在容器內部,通過adb host加載windows主機上的設備:
當不知道命令如何寫的時候,從上面運行STF服務里查找日志里面有provider的一行,可以比照出內容怎么寫。
stf provider --name centos74 --min-port 7400 --max-port 7700 --connect-sub tcp://127.0.0.1:7114 --connect-push tcp://127.0.0.1:7116 --group-timeout 900 --public-ip 10.24.51.1 --storage-url http://localhost:7100/ --adb-host 10.24.12.234 --adb-port 5037 --vnc-initial-size 600x800 --mute-master never --allow-remote
七、平台連接效果展示
八、補充說明
上述操作行為,僅針對其它操作系統上沒有安裝stf,所以采用 adb host 的方式連上對應操作系統上的安卓設備,假如某此系統服務上已安裝stf相應組件,
如:10.16.6.63_Liunx主機,安裝了 stf,想將Liunx主機的安卓設備連接到主Master(MAC:172.17.9.49)平台上。
通過配置新的 provider 連上Liunx 主機上的設備:
在Liunx主機上啟動 stf provider 【差異在於,不需要增加--adb-host】
stf provider --name mikezhoudeMac-mini.local --min-port 7400 --max-port 7700 --connect-sub tcp://172.17.9.49:7114 --connect-push tcp://172.17.9.49:7116 --group-timeout 20000 --public-ip 172.17.9.49 --storage-url http://172.17.9.49:7100/ --vnc-initial-size 600x800 --allow-remote