STF,全名Smartphone Test Farm---智能手机测试平台,可以提供远程真机调试的功能,目前仅支持Android设备。

环境准备

1.Node.js 8

  • 安装Node.js
$ curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
$ sudo yum install -y nodejs
  • 安装cnpm
$ sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
  • 验证
// node.js,输出版本
$ node --version
// npm,输出版本
$ npm --version
// cnpm,输出版本
$ cnpm -v

2.ADB

  • 安装adb
$ sudo yum install android-tools
  • 验证
$ adb version

3.RethinkDB >= 2.2

  • 方法一、安装RethinkDB(安装时超时错误,此次安装用的是方法二)
$ sudo wget https://download.rethinkdb.com/centos/7/`uname -m`/rethinkdb.repo \
-O /etc/yum.repos.d/rethinkdb.repo
$ sudo yum install rethinkdb
  • 方法二、源代码编译安装RethinkDB
// 安装主要依赖项
$ sudo yum install openssl-devel libcurl-devel wget tar m4 git-core \
boost-static m4 gcc-c++ npm ncurses-devel which --skip-broken \
make ncurses-static zlib-devel zlib-static bzip2 \
patch // 安装可选的构建依赖项
$ sudo yum install epel-release
$ sudo yum install protobuf-devel protobuf-static jemalloc-devel // 下载并解压缩源码包
$ wget https://download.rethinkdb.com/dist/rethinkdb-2.4.0.tgz(下载太慢可手动打开链接再传输到centos)
$ sudo tar xf rethinkdb-2.4.0.tgz -C /usr/local // 编译&安装
# cd rethinkdb-2.4.0
# ./configure --allow-fetch --dynamic jemalloc
# make && make install
  • 验证
$ rethinkdb -v

4.GraphicsMagick

  • 安装GraphicsMagick
// 安装相关依赖
$ sudo yum install -y gcc libpng libjpeg libpng-devel libjpeg-devel ghostscript libtiff libtiff-devel freetype freetype-devel // 下载并解压
$ wget ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/1.3/GraphicsMagick-1.3.33.tar.gz(下载太慢可手动打开链接再传输到centos)
$ sudo tar -zxvf GraphicsMagick-1.3.33.tar.gz -C r/local/ // 编译&安装
# cd /usr/local/GraphicsMagick-1.3.33
# ./configure --prefix=/usr/local/GraphicsMagick-1.3.33 --with-quantum-depth=8 --enable-shared --enable-static
# make && make install // 创建软链
# ln -s /usr/local/GraphicsMagick-1.3.28 /usr/local/GraphicsMagick
  • 设置环境变量
# vim /etc/profile.d/gmagick.sh

// 写入以下内容
export GMAGICK_HOME="/usr/local/GraphicsMagick"
export PATH="$GMAGICK_HOME/bin:$PATH"
LD_LIBRARY_PATH=$GMAGICK_HOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH // 生效配置
# source /etc/profile.d/gmagick.sh
  • 验证
$ gm version

5.ZeroMQ

  • 安装ZeroMQ
// 下载并解压
$ wget https://github.com/zeromq/libzmq/releases/download/v4.3.2/zeromq-4.3.2.tar.gz(下载太慢可手动打开链接再传输到centos)
$ sudo tar xvf zeromq-4.3.2.tar.gz -C /usr/local // 编译&安装
# cd /usr/local/zeromq-4.3.2
# ./configure
# make && make install

6.Protocol Buffers >=3

  • 安装Protocol Buffers
// 下载并解压
$ wget https://github.com/protocolbuffers/protobuf/releases/download/v3.11.3/protobuf-cpp-3.11.3.tar.gz(下载太慢可手动打开链接再传输到centos)
$ sudo tar xvf protobuf-cpp-3.11.3.tar.gz -C /usr/local // 编译&安装
# cd /usr/local/protobuf-3.11.3
# ./configure --prefix=/usr/local/protobuf
# make && make install
  • 设置环境变量
# vim/etc/profile

// 追加以下内容
export PATH=$PATH:/usr/local/protobuf/bin/
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/ // 生效配置
# source /etc/profile
  • 验证
$ protoc --version
  • 备注:若检测版本<3.0,需要将原protoc卸载
// 查找原路径
# which protoc // 路径为上一步的输出路径
# rm /usr/bin/protoc // 重新配置
# source /etc/profile

7.yasm

  • 安装yasm
// 下载并解压
$ wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz(下载太慢可手动打开链接再传输到centos)
$ sudo tar xvf yasm-1.3.0.tar.gz -C /usr/local // 编译&安装
# cd /usr/local/yasm-1.3.0
# ./configure --prefix=/usr/local/yasm-1.3.0
# make && make install
  • 设置环境变量
# vim/etc/profile

// 追加以下内容
export PATH=/usr/local/yasm/bin:$PATH // 生效配置
# source /etc/profile
  • 验证
$ yasm --version

8.pkg-config

  • 安装pkg-config
// 下载并解压
$ wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz(下载太慢可手动打开链接再传输到centos)
$ sudo tar xvf pkg-config-0.29.2.tar.gz -C /usr/local // 编译&安装
# cd /usr/local/pkg-config-0.29.2
# ./configure --prefix=/usr/local/pkg-config --with-internal-glib
# make && make install
  • 验证
$ pkg-config --version

安装STF

  • cnpm安装stf
# cnpm install -g stf
  • 检查STF环境
# stf doctor

运行

  • 启动RethinkDB
// 后台执行
# rethinkdb &
  • 开启STF服务
// --public-ip 192.168.1.9 指centos服务器地址
// --port 7100 指定访问端口
// --allow-remote 允许远程访问
// & 后台执行
# stf local --public-ip 192.168.1.9 --port 7100 --allow-remote &
  • 开放远程访问端口7100
// 查看已经开放的端口
# firewall-cmd --list-ports // 开启7100端口
# firewall-cmd --zone=public --add-port=7100/tcp --permanent // 重启防火墙
# firewall-cmd --reload

远程访问STF

  • 打开地址http://192.168.1.9:7100

  • 输入任意Name&E-mail 登录

Centos7 下搭建STF平台的更多相关文章

  1. Centos7下搭建LAMP平台环境 (转载)

     1.启用Apache(httpd) Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装,可以yum install -y httpd 启动服务:systemctl start ...

  2. Centos7下搭建LAMP平台环境

    1.启用Apache2 Centos7默认已经安装httpd服务,只是没有启动.如果你需要全新安装,可以yum install -y httpd 启动服务:systemctl start httpd. ...

  3. 在Centos7下搭建Socks5代理服务器

    在Centos7下搭建Socks5代理服务器 http://blog.51cto.com/quliren/2052776   采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器 ...

  4. Hyperledger超级账本在Centos7下搭建运行环境

    超级账本(hyperledger)是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,加入成员包括:荷兰银行(ABN AMRO).埃森哲(Accenture)等十几个不同利益体 ...

  5. Linux系统:Centos7下搭建PostgreSQL关系型数据库

    本文源码:GitHub·点这里 || GitEE·点这里 一.PostgreSQL简介 1.数据库简介 PostgreSQL是一个功能强大的开源数据库系统,具有可靠性.稳定性.数据一致性等特点,且可以 ...

  6. 第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误,

    第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误, 注意:版本,不然会报错 Docker >=1.11Compose >1.6.0 通过d ...

  7. centos7下搭建ceph luminous(12.2.1)--无网或网络较差

    本博客的主要内容是在centos7下搭建luminous,配置dashboard,搭建客户端使用rbd,源码安装ceph,最后给出一些较为常用的命令.本博客针对初次接触ceph的人群. 搭建环境: 主 ...

  8. CentOS7下搭建zabbix监控(四)——Zabbix报警设置

    CentOS7下搭建zabbix监控(一)——Zabbix监控端配置 CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置 CentOS7下搭建zabbix监控(三)——Zabbix ...

  9. CentOS7下搭建zabbix监控(三)——Zabbix监控服务配置

    CentOS7下搭建zabbix监控(一)——Zabbix监控端配置 CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置 (1).配置Zabbix监控Apache服务 主机名:yo ...

随机推荐

  1. 初始Redis与简单使用

    初始Redis: redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(so ...

  2. 通过公网连接阿里云redis,rinetd

    目前云数据库 Redis 需要通过 ECS 的内网进行连接访问.如果您本地需要通过公网访问云数据库 Redis,可以在 ECS Linux 云服务器中安装 rinetd 进行转发实现. 1.在云服务器 ...

  3. 【题解】CTSC1999家园(网络流)

    CTSC1999家园 建模方法类似我NOI2019网络同步赛我的T1写法[[题解]NOI2019Route](70分) 问题的焦点是:空间时间载具. 考虑如何击破时间限制,可以对每个点关于每个时刻建立 ...

  4. 分支结构,for循环,while循环,跳出循环

    #流程控制 概念:通过规定的语句让程序代码有条件的按照一定的方 式执行 顺序结构 按照书写顺序来执行,是程序中最基本的流程结构 选择结构(分支结构.条件结构) 分支结构 单路分支:if(执行的条件){ ...

  5. 「CF670C」Cinema 解题报告

    题面 传送门 思路: 离散化.hash 对于这样一个明显的统计排序的题目,当然轻而易举啦~ 但是!看!语言的编号 a数组和 b数组的值最大在\(10^9\)的级别,所以开个数组来存---That's ...

  6. JavaScript数据类型 - Symbol

    ES5:对象的属性名只能是字符串,当给对象添加新属性时,很容易造成属性名冲突,从而覆盖了原有的属性. ES6:所以ES6中引入了symbol数据类型,他表示独一无二的值,避免了属性名的冲突,此时对象的 ...

  7. 9.python中sys.argv[]用法说明

    在python中sys.argv[]是用来获取命令行输入的参数的(参数和参数之间空格区分),sys.argv[0]表示代码本身文件路径,所以从参数1开始,表示获取的参数了 举例说明:创建一个程序名为t ...

  8. 比特币学习笔记(一)---在windows下编译搭建比特币环境

    最近打算研究下比特币源码,却发现这套源码正常情况下得在linux下编译运行,而我的机器是windows的. 怎么办呢? 起初打算用mingw和cygwin搞搞看,试了许久后发现行不通,必须转到linu ...

  9. vs推送git失败,修改git下config的Log

    一开始写完程序套推送到Git中,然后就来了一下,下面的异常: 异常1 发布到远程存储库时遇到错误: Git failed with a fatal error. fatal: HttpRequestE ...

  10. DateTime.Now

    // 2008年4月24日 System.DateTime.Now.ToString( " D " );// 2008-4-24 System.DateTime.Now.ToStr ...