一款基于nodejs+jade模板开发的手机群控框架,你可以在此基础上拿来测试设备,或者群操作等等。
主要核心技术在于如何在不root的情况下实时流畅录屏,以及远程操作手机。
官方git
https://github.com/openstf/stf
软件安装
环境安装
ADB
RethinkDB
GraphicsMagick
zeromq
Protocol Buffers
yasm(for compiling embedded libjpeg-turbo)
运行
其他
安装环境
虚拟机:centos7
镜像源:yum阿里云镜像(http://mirrors.aliyun.com/)
软件安装
前提是一件安装好了nodejs环境,然后执行简单的命令即可
npm install -g stf
光安装软件是无法运行的,下面还要安装各种依赖。
环境安装
包括
- Node.js >= 0.12
- 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
ADB
ADB+Android SDK去腾讯镜像下载
http://android-mirror.bugly.qq.com:8080/include/usage.html
用winscp复制下载文件到linux系统,我选择路径为/opt/
unzip或tar命令解压即可。
先解压sdk,生成android-sdk-linux目录,再把platform-tools_r24.0.3-linux移到目录里,解压
设置环境变量
创建文件
cd /etc/profile.d
touch path.sh
vim path.sh
保存内容
export ANDROID_HOME=/opt//android-sdk-linux
export PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools
重启机器
adb
RethinkDB
据说完美支持SSD的nosql
https://rethinkdb.com/docs/install/centos/
sudo wget http://download.rethinkdb.com/centos/7/`uname -m`/rethinkdb.repo
-O /etc/yum.repos.d/rethinkdb.repo
sudo yum install rethinkdb
GraphicsMagick
图片处理瑞士军刀
安装各种库
主要是下面三个,如果还想支持别的图片,自行yum
FreeType 2.0 –with-ttf=yes no (需要freetype支持)
JPEG v1 –with-jpeg=yes no (需要libjpeg支持)
PNG –with-png=yes no (需要libpng支持)
下载安装
http://www.graphicsmagick.org/download.html
tar -xf GraphicsMagick-1.3.18.tar.gz
cd GraphicsMagick-1.3.18
#如果上面的库都是yes,no的不支持,想支持自行yum,就没有问题了
./configure --prefix=/usr/local/GraphicsMagick --enable-shared
make && make install
#这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。
#./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。configure,这一步一般用来#生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure –prefix=/usr 意思是将该软件安装在 /usr 下#面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。同时一些软件的配置文件你#可以通过指定 –sys-config= 参数进行设定。有一些软件还可以加上 –with、–enable、–without、–disable 等等参数对编译加以控制,你可以通过允许 ./configure –#help 察看详细的说明帮助。
#make是用来编译的,它从Makefile中读取指令,然后编译。
#make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
添加到环境变量
vim /etc/profile.d/path.sh
#添加一行
export PATH=$PATH:/usr/local/GraphicsMagick/bin
重启即可
gm
zeromq
轻量级消息队列内核
有点大
http://zeromq.org/intro:get-the-software
git clone https://github.com/zeromq/libzmq
./autogen.sh && ./configure && make -j 4
make check && make install && sudo ldconfig
安装过程遇到一个test fail,我怀疑是官方搞错了,跳过check,直接安装吧
git貌似不好使,所以还是下载安装包
To build on UNIX-like systems
If you have free choice, the most comfortable OS for developing with ZeroMQ is probably Ubuntu.
Make sure that libtool, pkg-config, build-essential, autoconf, and automake are installed.
Check whether uuid-dev package, uuid/e2fsprogs RPM or equivalent on your system is installed.
Unpack the .tar.gz source archive.
Run ./configure, followed by make.
To install ZeroMQ system-wide run sudo make install.
On Linux, run sudo ldconfig after installing ZeroMQ.
To see configuration options, run ./configure –help. Read INSTALL for more details.
安装完成后
Libraries have been installed in:
/usr/local/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
这是告诉你接下来要怎么用。简单的办法是在 /etc/ld.so.conf.d 下新建一个文件 local.conf,里边写上 /usr/local/lib。然后以 root 权限执行 ldconfig。这样你的系统才会找得到安装到 /usr/local/lib 下的库文件。
Protocol Buffers
https://github.com/google/protobuf/releases
google的存储格式协议,类似json
wget https://github.com/google/protobuf/releases/download/v3.0.2/protobuf-cpp-3.0.2.tar.gz
tar -xvf
./configure
make #编译时间好久
make check
sudo make install
sudo ldconfig # refresh shared library cache.
protoc –version
yasm(for compiling embedded libjpeg-turbo)
Yasm是一个完全重写的NASM汇编。目前,它支持x86和AMD64指令集,接受NASM和GNU汇编器(gas)语法,产出二进制, ELF32 , ELF64 , COFF , Mach - O的( 32和64 ) , RDOFF2 ,的Win32和Win64对象的格式,并生成STABS 调试信息的来源,DWARF 2 ,CodeView 8格式。
看到这用到汇编我就哭了
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar -xf yasm-1.3.0.tar.gz
./configure
make
make install
运行
rethinkdb
stf local
在浏览器中输入地址:http://localhost:7100/ 访问客户端。
如果要远程调试,stf local --public-ip 192.168.153.129 --allow-remote
有些包没安装报错
cd /usr/local/lib/node_modules/stf/
npm install
其他
各种运行报错,检查错误,然后修复即可
包括http://phantomjs.org/download.html
这个插件的安装,环境变量的添加
npm install jpeg-turbo