一、简介
OpenSTF是一个手机设备管理平台,可以对手机进行远程管理、调试、远程手机桌面监控等操作,可以批量对大量设备进行WEB端管理。
STF (or Smartphone Test Farm) is a web application for debugging smartphones, smartwatches and other gadgets remotely, from the comfort of your browser.
二、环境搭建
1、基本命令安装
安装wget、zip等命令
yum install wget
yum install -y unzip zip
2、java环境配置
(1)下载jdk安装包并上传至Linux
因为在linux中直接使用
我这里下载的包是:
curl
或者wget
下载jdk安装包会被重定向,所以我们要先在windows里先下载好所需的安装包再上传到linux中 jdk1.8官网下载地址 jdk1.9官网下载地址我这里下载的包是:
jdk-8u161-linux-x64.tar.gz
(2).解压安装
对安装包执行解压
[root@localhost ~]# tar -zxvf jdk-8u161-linux-x64.tar.gz
解压出来一个文件夹
jdk1.8.0_161
[root@localhost ~]# mv jdk1.8.0_161/ /usr/local/java
(3).配置环境变量
vi /etc/profile
在文件中增加如下内容:
export JAVA_HOME=/usr/local/java/jdk1.8.0_151
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
验证环境是否ok:
java -version
3.android SDK环境配置
首先下载SDK
cd /usr/local
mkdir android
cd android
wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
unzip sdk-tools-linux-3859397.zip
配置环境变量
vi /etc/profile
在文件中增加如下内容
export PATH=$PATH:/usr/local/android/tools/bin
然后执行
source profile
查看已安装信息
sdkmanager --list
安装platform-tools
sdkmanager "platform-tools"
配置环境变量
vi /etc/profile
在文件中增加如下内容:
export PATH=$PATH:/usr/local/android/platform-tools
执行
source profile sdkmanager --list
验证环境是否ok:
adb --version
4.node安装
cd /usr/local
mkdir node
cd node
wget https://nodejs.org/download/release/v9.0.0/node-v9.0.0-linux-x64.tar.gz
tar xvf node-v9.0.0-linux-x64.tar.gz
ln -s /usr/local/node/node-v9.0.0-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/local/node/node-v9.0.0-linux-x64/bin/npm /usr/local/bin/npm
检查环境
node -v
npm -v
5.rethinkdb安装
执行:
cd /opt/dong -----即在opt新建一个目录用来用来其他依赖
wget http://download.rethinkdb.com/centos/7/`uname -m`/rethinkdb.repo -O /etc/yum.repos.d/rethinkdb.repo
yum install rethinkdb
检查环境是否ok:
rethinkdb -v
6.GraphicsMagick安装
1.安装依赖
[root@localhost ~]# yum install -y gcc libpng libjpeg libpng-devel libjpeg-devel ghostscript libtiff libtiff-devel freetype freetype-devel
2、执行:
cd /opt/dong
wget https://iweb.dl.sourceforge.net/project/graphicsmagick/graphicsmagick/1.3.26/GraphicsMagick-1.3.26.tar.gz
tar xvf GraphicsMagick-1.3.26.tar.gz
cd GraphicsMagick-1.3.26
./configure
make
make install
验证环境是否ok:
gm
7.yasm安装
执行:
cd /opt/dong
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
make install
验证环境是否ok:
yasm --version
8.libsodium安装
执行:
cd /opt/dong
wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.15.tar.gz
tar xvf libsodium-1.0.15.tar.gz
./configure
make
make install
验证环境是否ok:
whereis libsodium
9.zeromq安装
执行:
cd /opt/dong
wget https://github.com/zeromq/libzmq/releases/download/v4.2.2/zeromq-4.2.2.tar.gz tar xvf zeromq-4.2.2.tar.gz
cd zeromq-4.2.2
./configure
遇到报错,yum install gcc-c++
make
make install
10.protobuf安装
执行:
cd /opt/dong
wget https://github.com/google/protobuf/releases/download/v3.5.0/protobuf-cpp-3.5.0.tar.gz
tar xvf protobuf-cpp-3.5.0.tar.gz
cd protobuf-3.5.0
./configure --prefix=/usr/local/protobuf
make
make install
配置变量:
vi /etc/profile
在文件中增加如下内容:
export PATH=$PATH:/usr/local/protobuf/bin/
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
执行
source profile
验证环境是否ok:
protoc --version
11.pkg-config安装
执行:
cd /opt/dong
wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz
tar xvf pkg-config-0.29.2.tar.gz
cd pkg-config-0.29.2
./configure --prefix=/usr/local/pkg-config --with-internal-glib
make
make install
验证环境是否ok:
pkg-config --version
12.stf安装
执行:
npm install -g stf
如果安装失败,先执行如下命令,再安装
npm config set unsafe-perm=true
下载完成后,进入:
cd /usr/local/node/node-v9.0.0-linux-x64/lib/node_modules/stf/bin
./stf doctor
检查结果
[root@localhost bin]# ./stf doctor
INF/cli:doctor 10067 [*] OS Arch: x64
INF/cli:doctor 10067 [*] OS Platform: linux
INF/cli:doctor 10067 [*] OS Platform: 3.10.0-327.el7.x86_64
INF/cli:doctor 10067 [*] Using Node 8.9.1
INF/cli:doctor 10067 [*] Using ZeroMQ 4.2.2
INF/cli:doctor 10067 [*] Using RethinkDB 2.3.6
INF/cli:doctor 10067 [*] Using GraphicsMagick 1.3.26
INF/cli:doctor 10067 [*] Using ADB 1.0.39
INF/cli:doctor 10067 [*] Using ProtoBuf 3.5.0
INF/cli:doctor 10067 [*] OS Arch: x64
INF/cli:doctor 10067 [*] OS Platform: linux
INF/cli:doctor 10067 [*] OS Platform: 3.10.0-327.el7.x86_64
INF/cli:doctor 10067 [*] Using Node 8.9.1
INF/cli:doctor 10067 [*] Using ZeroMQ 4.2.2
INF/cli:doctor 10067 [*] Using RethinkDB 2.3.6
INF/cli:doctor 10067 [*] Using GraphicsMagick 1.3.26
INF/cli:doctor 10067 [*] Using ADB 1.0.39
INF/cli:doctor 10067 [*] Using ProtoBuf 3.5.0
ok,至此环境搭建成功
启动stf
进入stf目录:
cd /usr/local/node/node-v9.0.0-linux-x64/lib/node_modules/stf/bin
./stf local --public-ip 111.67.203.89 --allow-remote (172.31.3.243位centos服务器地址即stf服务器地址)
在其他地址的电脑上,打开浏览器,输入
http://111.67.203.89:7100
即可访问stf
遇到的问题
1、zmq.node文件错误
转到stf工程根目录执行:
npm rebuild
备注:
如果上述命令失败,可能会出现一个死循环,按Ctrl+C停止,执行npm config set unsafe-perm=true,再执行上述命令
2、libzmq.so.5 not found
cd /etc
vi /etc/ld.so.conf
#新增一行:
/usr/local/zeromq/lib
ldconfig
3、远程访问失败
可能是防火墙未关闭,关闭方法
#检查防火墙状态
firewall-cmd --state
#关闭防火墙
systemctl stop firewalld.service
#禁止开机启动
systemctl disable firewalld.service