一、背景
看到之前曾有人发贴,贴名【stf 连接各操作系统上安卓设备的操作方法分享】,介绍了一下,虽然说方法和理论都有,但下述评论中还是有很多人不知如何操作,特别是不知道stf provider命令如何使用,特此,提供具体的解决方法,当然本人注重结果导向,所以下述方法中,重点都是通过截图方法来展开,不涉及理论上的过多解释。
当然也可直接参考我在testerhome上发表的文章:(https://testerhome.com/topics/7966)
二、目的
- 将没有安装stf组件电脑上连接的android设备,添加映射到装有stf平台服务的机器上 (可以看作Master-Slave主从关系)
三、环境前置
- 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]
- 三台电脑网络互通。
四、环境描述
下述截图仅供演示说明,其中,IP及端口划分因实际情况而定
- Mac STF服务本机上连有的android设备:
- Windows机器上连有的android设备:
- Linux机器上连有的android设备(通过wifi模式连接):
五、实际操作
- windows 上启动 adb server 并对外暴露 5037 端口
adb -a -P 5037 fork-server server
- 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连接启动成功后的日志,如下所示:
- 通过配置 adb host 的方式连上 liunx 主机上的设备
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
- 连接成功后,Mac服务上接收到的日志
六、Mac平台连接效果展示
七、补充说明
上述操作行为,仅针对其它操作系统上没有安装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
八、结束语
我只想说,NND,为啥这次感冒这么久没好!