OpenSTF
是一个Web应用程序,用于从浏览器的舒适性中远程调试智能手机,智能手表和其他小工具。
依赖
- Node.js 8.x required (some dependencies don't support newer versions)
- 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
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
后台,就可以控制手机了。