STF 云真机--连接其它服务器上的安卓设备
2021-10-11 本文已影响0人
思念_似水流年
一、背景
STF 服务部署在服务器网段的机器1上,向外提供服务,但无法直接连接设备,内网的另一台服务器2上有连接安卓设备,需要机器1连接机器2上的设备,对外提供使用。
二、环境配置
- Linux 服务器1,部署 STF 服务,作为 master 节点。【IP:172.26.137.179】
- Linux 服务器2,未部署 STF 服务,有安装 adb 服务,连接安卓设备。【IP:172.26.131.185】
- 两台电脑网络已开通互通权限。
三、Linux 服务器 2 连接上Android 设备
[root@localhost ~]# adb devices
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
4c8d72f5 device
OF5XPBF6MJCQQKMB device
四、Linux 服务器 2 对外暴露 5037 端口
[root@localhost ~]# adb nodaemon server -a -P 5037
adb F 10-08 22:35:22 26946 26946 main.cpp:160] could not install *smartsocket* listener: Address already in use
Aborted
提示端口已被占用
解决方案
- 先停止 adb 服务
- 再重新执行暴露端口命令
[root@localhost ~]# adb kill-server
[root@localhost ~]# adb nodaemon server -a -P 5037
adb I 10-08 22:35:31 26963 26963 auth.cpp:417] adb_auth_init...
adb I 10-08 22:35:31 26963 26963 auth.cpp:152] loaded new key from '/root/.android/adbkey' with fingerprint 26EC969AE084AA8C888C94150911C17CC9FFA51A4CD6E5B05CD01 F197E1E4F1C
adb I 10-08 22:35:31 26963 26963 auth.cpp:392] adb_auth_inotify_init...
adb I 10-08 22:35:31 26963 26969 transport.cpp:333] 4c8d72f5: read thread spawning
adb I 10-08 22:35:31 26963 26970 transport.cpp:305] 4c8d72f5: write thread spawning
adb I 10-08 22:35:31 26963 26971 transport.cpp:333] OF5XPBF6MJCQQKMB: read thread spawning
adb I 10-08 22:35:31 26963 26972 transport.cpp:305] OF5XPBF6MJCQQKMB: write thread spawning
adb I 10-08 22:35:31 26963 26963 transport.cpp:1596] fetching keys for transport 4c8d72f5
adb I 10-08 22:35:31 26963 26963 auth.cpp:469] Calling send_auth_response
adb I 10-08 22:35:31 26963 26963 adb.cpp:175] 4c8d72f5: offline
adb I 10-08 22:35:31 26963 26963 transport.cpp:1596] fetching keys for transport OF5XPBF6MJCQQKMB
adb I 10-08 22:35:31 26963 26963 auth.cpp:469] Calling send_auth_response
adb I 10-08 22:35:31 26963 26963 adb.cpp:175] OF5XPBF6MJCQQKMB: offline
命令执行完毕出现上述信息表示端口暴露成功。
五、Linux 服务器1 启动 STF 服务
[root@localhost ~]# docker run -d --name stf --privileged=true --net host devicefarmer/stf stf local --public-ip 172.26.137.179 --allow-remote
六、Linux 服务器1 连接设备
- 先进入容器内部
[root@localhost ~]# docker exec -it stf /bin/sh
- 连接设备
stf provider --name stf-ap01 --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.26.137.179 --storage-url http://localhost:7100/ --adb-host 172.26.131.185 --adb-port 5037 --vnc-initial-size 600x800 --allow-remote
七、检查设备连接成功
![](https://img.haomeiwen.com/i11251343/8fe3319a35fdde42.png)