本文参考以下文章整理:
MAC 下 STF 的环境搭建和运行

一、 前言

STF,全称是Smartphone Test Farm,WEB 端批量移动设备管理控制工具,就是可以用浏览器来批量控制你的移动设备,目前只支持Android设备。

二、环境搭建

1. 安装xcode和xcode 命令行工具

(安装Macport需要)

  • Xcode:直接在App Store下载安装
  • Xcode Command Line Tools:在terminal中输入以下命令,然后在弹出的安装步骤中猛点下一步自动安装。
1
xcode-select --install

2. 安装Macport,后面需要用到port

参考:http://www.ccvita.com/434.html

1.1 直接到官网下载安装包进行安装

http://www.macports.org/install.php

1.2 添加环境变量

将/opt/local/bin和/opt/local/sbin添加到$PATH搜索路径中:

1
vi ~/.bash_profile

在文件中加入:

1
2
export PATH=/opt/local/bin:$PATH
export PATH=/opt/local/sbin:$PATH

更新环境变量:

1
source ~/.bash_profile

1.3 更新ports tree和MacPorts版本

强烈推荐第一次运行的时候使用-v参数,显示详细的更新过程。

1
sudo port -v selfupdate

3. linux的基本包安装

Mac之前有类似环境忽略。

4. SDK环境安装

这里不做详细说明估计都有

  • Java
  • android 留意安装完成后配置环境变量

5. nodejs安装

1
node -v

6. 安装bower

1
sudo npm install bower -g

验证:

1
bower -v

7. 安装rethinkdb

(这里建议通过pgk安装)

1
rethinkdb -v

8. 安装graphicsmagick

1
sudo port install graphicsmagick

9. 安装libsodium

(zeromq的依赖)

1
sudo port install libsodium

10. 安装zeromp

1
sudo port install zmq

11. 安装protobuf

1
sudo port install protobuf-cpp
  • 不用理会环境变量

12. 安装pkg-config

1
sudo port install pkgconfig

13. 安装stf

1
sudo npm install -g stf
  • 时间应该是看网速,原文中备注会很长,但是我这边很快就安装完成了。

三、运行

1. 运行stf

1.1 启动rethinkdb

在终端中输入以下命令,这时访问浏览器就可以看到rethinkdb的管理界面: http://localhost:8080/

1
rethinkdb

1.2 启动stf

(需新建终端)

1
stf local --public-ip 本机IP --allow-remote

如:

1
stf local --public-ip 192.168.1.102 --allow-remote

其中--allow-remote表示允许远程访问。

注:官方文档中给的例子实际测试无法访问:stf local

2. 运行客户端

  • 浏览器输入http://localhost:7100/,只要填入符合规则的登录信息即可:
  • 成功,可以实现远程操作啦!

五、其它系统

1. Linux类系统

Linux类的操作系统,如Ubuntu,可参考WEB 端批量移动设备管理控制工具 STF 的环境搭建和运行进行搭建。

2. Windows

Windows下直接安装据说相当麻烦,有很多坑,比较常见的做法是使用虚拟机(如docker)虚拟出一个Linux系统,然后参考上一步的搭建方法进行搭建。

六、使用

1. 远程控制

搭建好环境之后,这就是一台连接着N台Android手机的服务器了(这个服务器可能是放在你们公司某个神秘的地方,一般称为无线实验室),在上图的手机控制界面可以看到:

这时候,在你自己的电脑上(客户端),通过命令行输入adb connect 192.168.1.102:7401,就可以将自己的电脑连接到远程服务器上的手机真机,就好像手机是连接在自己电脑上一样,你可以在Android Studio中Android Device Monitor上看到手机硬件,可以直接打断点debug。

Mac系统下STF的环境搭建和运行的更多相关文章

  1. Mac系统下React Native环境搭建

    这里记录一下在Mac系统下搭建React Native开发环境的过程: 1. 安装HomeBrew: /usr/bin/ruby -e "$(curl -fsSL https://raw.g ...

  2. MAC 下 STF 的环境搭建和运行

    STF --WEB 端批量移动设备管理控制工具 安装各种包 (首先安装Macport,因为后面需要用到port:http://www.ccvita.com/434.html) linux的基本包安装, ...

  3. Windows系统下Android开发环境搭建

    “工具善其事,必先利其器”.要想学好Android,搭建好Android开发环境是一个良好的开端. Windows系统下Android开发环境主要有4个大的步骤.分别是: 1.JDK的安装 2.ecl ...

  4. 一寸宕机一寸血,十万容器十万兵|Win10/Mac系统下基于Kubernetes(k8s)搭建Gunicorn+Flask高可用Web集群

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_185 2021年,君不言容器技术则已,欲言容器则必称Docker,毫无疑问,它是当今最流行的容器技术之一,但是当我们面对海量的镜像 ...

  5. linux系统下深度学习环境搭建和使用

    作为一个AI工程师,对Linux的一些技能的掌握也能从一定层面反应工程师的资深水平. 要求1:基于SSH的远程访问(本篇文章) 能用一台笔记本电脑,远程登陆一台linux服务器 能随时使用笔记本电脑启 ...

  6. Ubuntu系统下arm-linux-gcc交叉编译环境搭建过程

    搭建所需环境Linux版本:Ubuntu 14.10 交叉编译器版本:arm-linux-gcc-4.4.3资源链接 何为交叉编译环境搭建交叉编译环境,即安装.配置交叉编译工具链.在Ubuntu环境下 ...

  7. 基于VGGnet的人脸识别系统-ubuntu 系统下的Caffe环境搭建(CPU)

    对于caffe的系统一般使用linux系统,当然也有windows版本的caffe,不过如果你一开始使用了windows下面的caffe,后面学习的过程中,会经常遇到各种错误,网上下载的一些源码.模型 ...

  8. Windows系统下JAVA开发环境搭建

    首先我们需要下载JDK(JAVA Development Kit),JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库. 下载地址:http://www.or ...

  9. WEB 端批量移动设备管理控制工具 STF 的环境搭建和运行

    最近项目涉及到较多设备批量管理的需求,发现一工具,可以批量对大量设备进行WEB端管理,工具主页:https://openstf.github.io/工具名STF(Smartphone Test Far ...

随机推荐

  1. c++ const char *[] or char [][]

    ]={"hello","world"}; ]={"hello"};char (*ch3)[6]= ch1; std::cout<< ...

  2. windows7 64bit下mvn命令后提示‘cmd’不是内部或外部命令,也不是可执行程序或批处理文件

    首先,开命令提示符,输入如下命令试试echo %M2_HOME% 回车如果显示的路径和安装路径一致说明配置没问题; 那么出现这个问题的原因可能就是路径问题,可能是你安装了某个软件更改了系统映射路径导致 ...

  3. 为什么使用bootstrap在一个页面同时做两个轮播效果时,只有第一个有效??

    我们都知道使用bootstrap做轮播效果非常快,但是有时候一个页面会需要两个轮播:但这个时候再次使用bootstrap做轮播效果时就会失效:原因在于bootstrap的Carousel问题,只要修改 ...

  4. 使用websocket-sharp来创建c#版本的websocket服务

    当前有一个需求,需要网页端调用扫描仪,javascript不具备调用能力,因此需要在机器上提供一个ws服务给前端网页调用扫描仪.而扫描仪有一个c#版本的API,因此需要寻找一个c#的websocket ...

  5. javaScript高级程序设计笔记 1

    核心  ECMAScript 文档对象模型  DOM 浏览器对象模型 BOM 延迟脚本  defer typeof操作符      判断字符类型  返回   undefined  boolean  s ...

  6. 【LeetCode】105 & 106. Construct Binary Tree from Inorder and Postorder Traversal

    题目: Given inorder and postorder traversal of a tree, construct the binary tree. Note:You may assume ...

  7. 用php+mysql+ajax实现淘宝客服或阿里旺旺聊天功能 之 后台页面

    在上一篇随笔中,我们已经看了如何实现前台的对话功能:前台我限定了店主只有一人,店铺只有一个,所有比较单一,但后台就不一样了,而后台更像是我们常见的聊天软件:当然,前台也应该实现这种效果,但原理懂了,可 ...

  8. Python3中文件处理

    1.txt,xls,doc等文件的使用 f=open("filename","w")   打开一个用于写入的文件,要写入内容时使用f.write("内 ...

  9. ExtJs2.0里Ext.form.Radio水平排列布局

      ExtJs2.0好像不支持单选框组,因此用两个name相同单选框来实现单选框组 var radio1 = new Ext.form.Radio({boxLabel:'男',name:'sex',i ...

  10. 基于Spring MVC 实现拦截器

    Spring MVC 拦截器 一,具体内容: 在所有的开发之中拦截器属于一个重要的组件,可以说几乎所有的项目都会提供的概念应用,不管是Spring MVC,还是Struts 2.x都是提供有拦截器的, ...