一、背景
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连接启动成功后的日志,如下所示:
通过配置 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
Liunx连接启动成功后的日志,如下所示:
连接成功后,Mac服务上接收到的日志
下述日志,说明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
原文链接:https://blog.csdn.net/xl_lx/article/details/79445862