一、背景

看到之前曾有人发贴,贴名【stf 连接各操作系统上安卓设备的操作方法分享】,介绍了一下,虽然说方法和理论都有,但下述评论中还是有很多人不知如何操作,特别是不知道 stf provider 命令如何使用,特此,提供具体的解决方法,当然本人注重结果导向,所以下述方法中,重点都是通过截图方法来展开,不涉及理论上的过多解释。

二、目的

将没有安装 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 设备:

android 设备 标识 安卓设备类型_设备类型android9安卓操作系统

Windows 机器上连有的 android 设备:

android 设备 标识 安卓设备类型_ide_02

Linux 机器上连有的 android 设备(通过 wifi 模式连接):

android 设备 标识 安卓设备类型_设备类型android9安卓操作系统_03

五、实际操作

windows 上启动 adb server 并对外暴露 5037 端口

adb -a -P 5037 fork-server server

android 设备 标识 安卓设备类型_android 设备 标识_04

Linux 上启动 adb server 并对外暴露 5037 端口

adb -a -P 5037 fork-server server

android 设备 标识 安卓设备类型_Mac_05

在 Mac 上启动 stf 服务

stf local --public-ip 172.17.9.49 --allow-remote

如果不知道 triproxy dev 具体的端口配置情况或者不知道 stf provider 命令如何写的同学,可以通过分析日志得出,如下红框标红的区域:

android 设备 标识 安卓设备类型_android_06

通过配置 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 连接启动成功后的日志,如下所示:

android 设备 标识 安卓设备类型_ide_07

通过配置 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 连接启动成功后的日志,如下所示:

android 设备 标识 安卓设备类型_设备类型android9安卓操作系统_08

连接成功后,Mac 服务上接收到的日志

下述日志,说明 windows 上的安卓设备已经连接成功:

android 设备 标识 安卓设备类型_设备类型android9安卓操作系统_09

下述日志,说明 liunx 上的安卓设备已经连接成功:

android 设备 标识 安卓设备类型_设备类型android9安卓操作系统_10

六、Mac 平台连接效果展示

android 设备 标识 安卓设备类型_android_11

七、补充说明

上述操作行为,仅针对其它操作系统上没有安装 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,为啥这次感冒这么久没好!