OpenSTF 是一个Web应用程序,用于从浏览器的舒适性中远程调试智能手机,智能手表和其他小工具。

依赖

yum install gcc  gcc-c++ libtool -y

ADB

ADB 是Android的命令行调试工具。

下载并解压:

wget https://dl.google.com/android/repository/platform-tools_r29.0.5-linux.zip

unzip platform-tools_r29.0.5-linux.zip

链接adb命令:

mv ./platform-tools /usr/local/

ln -s /usr/local/platform-tools/adb /usr/bin/adb

使用adb,查看版本:

adb version

Android Debug Bridge version 1.0.41
Version 29.0.5-5949299
Installed as /usr/local/platform-tools/adb

RethinkDB

这里有官方的安装说明:https://rethinkdb.com/docs/install/centos/

直接 yum 安装:

wget https://download.rethinkdb.com/centos/7/`uname -m`/rethinkdb.repo -O /etc/yum.repos.d/rethinkdb.repo

yum install -y rethinkdb

查看版本

rethinkdb -v

rethinkdb 2.4.0 (GCC 4.8.5)

GraphicsMagick

GraphicsMagick 号称图像处理领域的瑞士军刀, 短小精悍的代码却提供了一个鲁棒、高效的工具和库集合。

wget https://jaist.dl.sourceforge.net/project/graphicsmagick/graphicsmagick/1.3.34/GraphicsMagick-1.3.34.tar.gz  

tar -zxvf GraphicsMagick-1.3.34.tar.gz 
cd GraphicsMagick-1.3.34
./configure --prefix=/usr/local/GraphicsMagick
make && make install

protobuf

ProtoBuf (Google Protocol Buffer)是由google公司用于数据交换的序列结构化数据格式,具有跨平台、跨语言、可扩展特性,类型于常用的XML及JSON,但具有更小的传输体积、更高的编码、解码能力,特别适合于数据存储、网络数据传输等对存储体积、实时性要求高的领域。

wget https://github.com/protocolbuffers/protobuf/releases/download/v3.11.2/protobuf-cpp-3.11.2.tar.gz
tar -zxvf protobuf-cpp-3.11.2.tar.gz   

cd protobuf-3.11.2/
./configure --prefix=/usr/local/protobuf
make
make install

pkgconfig

yum install -y pkgconfig

加入环境变量:

vim /etc/profile.d/pkgconfig.sh

加入以下代码:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

使其生效:

source /etc/profile

ZeroMQ

ZeroMQ 是一个开源的消息队列库,它依赖libsodium

先安装libsodium

wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.18.tar.gz
tar -zxvf libsodium-1.0.18.tar.gz 
cd libsodium-1.0.18/

./configure
make && make check
make install

ldconfig

安装ZeroMQ

wget https://archive.org/download/zeromq_4.1.4/zeromq-4.1.4.tar.gz
tar -zxvf zeromq-4.1.4.tar.gz 

cd zeromq-4.1.4

./autogen.sh
./configure --prefix=/usr/local/zeromq
make -j 4 && make install

ln -s /usr/local/zeromq/lib/libzmq.* /usr/local/lib/
ln -s /usr/local/zeromq/include/zmq* /usr/local/include/

yasm

安装:

wget https://github.com/yasm/yasm/releases/download/v1.3.0/yasm-1.3.0.tar.gz
tar -zxvf yasm-1.3.0.tar.gz 

cd yasm-1.3.0/
./configure --prefix=/usr/local/yasm 
make && make install

加入环境变量

vim /etc/profile.d/yasm.sh

粘贴进去:

export PATH=$PATH:/usr/local/yasm/bin/

立即生效:

source /etc/profile
echo "/usr/local/lib">>/etc/ld.so.conf
ldconfig

Node.js

Node.js 安装参考:https://tech1024.com/original/3014 建议安装node的版本最好为8.x,高版本可能不兼容。

# node -v
v8.17.0

STF

npm install -g stf  --unsafe-perm

如果没有报错,就算安装成功了;

启动

先启动rethinkdb,终端不要关闭;

rethinkdb

接着,新开一个终端,运行stf:

stf local --public-ip 192.168.226.11

192.168.226.11 为本机ip; 浏览器打开http://192.168.226.11:7100/ 就可以看到 stf的管理界面了;

手机USB连接电脑,打开手机调试模式;然后在电脑上开启adb查看连接的设备:

# adb devices
List of devices attached
HMMBFQWW99999999        device

再次刷新STF后台,就可以控制手机了。