STF stf 安装及运行

Sorin · 2018年04月08日 · 最后由 YXF 回复于 2020年03月17日 · 3088 次阅读

STF 只支持 MAC 和 LIUNX,当然也是可以在 WIN 上使用的,不过体验很差,当然手机设备可以放在 WIN 电脑上连接

一,安装

STF 的依赖比较多,如下:

Node.js >= 0.12
ADB properly set up
RethinkDB >= 2.2
GraphicsMagick (for resizing screenshots)
ZeroMQ libraries installed
Protocol Buffers libraries installed
yasm installed (for compiling embedded libjpeg-turbo)
pkg-config so that Node.js can find the libraries
1.首先去 node 官网下 node.js,下 8.11.1 的吧,然后安装一下

2.然后去下载安装下 ADB,https://pan.baidu.com/s/1Jq5PEMEZShH1hn7kZFoytQ 并配置下环境变量

3.在终端中执行如下命令安装其它依赖

brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config  

4.然后在终端中执行如下命令安装 STF,当然执行安装过程可能有点长,而且还可能报些错误,遇到报错,按提示解决就行

sudo npm install -g stf 

安装好上面的所有,那下面就可以开始运行了

二,启动

1.在终端上执行命令,启动数据库

rethinkdb 

2.再打开一个新的终端窗口,执行如下命令,IP 为本机电脑 IP,加上参数--allow-remote 可以远程调试手机

stf local --public-ip 192.168.31.15 --allow-remote 

3.在浏览器中输入http://192.168.31.15:7100就可以打开网页,随便输入姓名和一个邮箱,就可以登录
三,连接手机

1.STF 服务上连接手机,只要把打开调试的手机插在电脑上就可以了

2.连接其它电脑上的手机

2.1 首先在被连接电脑上运行命令

ADB 低版本执行

adb -a -P 5037 fork-server server 

ADB 高版本执行

adb nodaemon server -a -P 5037

3.在 STF 服务电脑终端上执行如下命令, - adb host 后跟的是被连接电脑 IP,其它 IP 都为 STF 服务电脑 IP

stf provider --name 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 192.168.31.15 --storage-url http://192.168.31.15:7100/ --adb-host 192.168.31.18 --adb-port 5037 --vnc-initial-size 720x1280 --allow-remote  

上面都运行成功了,就可以在网页上看到连接的手机了,还有就是在手机浏览器中也是可以正常使用的

共收到 13 条回复 时间 点赞

绕过一段路,看了 sorccu 大神的 docker 文件:https://hub.docker.com/r/sorccu/adb/
发现以前的分布式弄错了,也看了你的文章,不错,解决了问题
谢谢

此外在 Windows 上部署的问题我分析完原因,在本地解决了,报告给 sorccu 大神,sorccu 大神找到了 Windows 底层问题,解决了 Windows 上部署的问题,可以试试。

Sorin #13 · 2018年05月04日 Author
乾行 回复

还是不要用 wiindow 吧,最好用 linux 的系统

Sorin 回复

部分手机只能在 windows 上能连上,在 windows 上维护手机更方便

5楼 已删除

那有什么安装包呀,作者都不建议装 win 上的,你可以直接用 npm 直接去装的,要弄很多依赖

7楼 已删除

你理解错了😄

centos7 安装 STF: 你有碰到吗?请问怎么解决的?

gyp WARN EACCES user "root" does not have permission to access the dev dir "/usr/local/node/8.11.2/lib/node_modules/stf/node_modules/dtrace-provider/.node-gyp/8.11.2"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/node/8.11.2/lib/node_modules/stf/node_modules/dtrace-provider/.node-gyp"
乾行 回复

最近也是在 Windows 上用 docker 搭建 STF,请问 Windows 上部署问题怎么解决的?

zhaojian 回复

没有用 docker

stf provider --name 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 192.168.31.15 --storage-url http://192.168.31.15:7100/ --adb-host 192.168.31.18 --adb-port 5037 --vnc-initial-size 720x1280 --allow-remote

各位大神 我现在是 window 上面装了一个虚拟机运行的 Ubuntu 系统。现在检测到了设备的存在但是现实的 disconnected,这是什么原因啊。另外这个 --adb-host 192.168.31.18 这个 ip 是怎么来的啊。刚开始学习使用这个,好多都好懵。

谢楼主,连接其他电脑上的手机真是 6

匿名 #2 · 2019年09月18日

执行 adb nodaemon server -a -P 5037 一直提示 offline
另外 stf provider 里 public-ip 和 adb-host 分别对应的 哪个 IP?(主机 or 节点)

在路上 回复

请问您的问题解决了么?怎么解决的?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册