openstf安装手记

一款基于nodejs+jade模板开发的手机群控框架,你可以在此基础上拿来测试设备,或者群操作等等。
主要核心技术在于如何在不root的情况下实时流畅录屏,以及远程操作手机。

官方git
https://github.com/openstf/stf

安装环境

虚拟机:centos7
镜像源:yum阿里云镜像(http://mirrors.aliyun.com/

软件安装

前提是一件安装好了nodejs环境,然后执行简单的命令即可

  1. 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/

  1. sudo wget http://download.rethinkdb.com/centos/7/`uname -m`/rethinkdb.repo
  2. -O /etc/yum.repos.d/rethinkdb.repo
  3. 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

  1. tar -xf GraphicsMagick-1.3.18.tar.gz
  2. cd GraphicsMagick-1.3.18
  3. #如果上面的库都是yes,no的不支持,想支持自行yum,就没有问题了
  4. ./configure --prefix=/usr/local/GraphicsMagick --enable-shared
  5. make && make install
  6. #这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。
  7. #./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 察看详细的说明帮助。
  8. #make是用来编译的,它从Makefile中读取指令,然后编译。
  9. #make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

添加到环境变量

  1. vim /etc/profile.d/path.sh
  2. #添加一行
  3. export PATH=$PATH:/usr/local/GraphicsMagick/bin

重启即可
gm

zeromq

轻量级消息队列内核
有点大
http://zeromq.org/intro:get-the-software

  1. git clone https://github.com/zeromq/libzmq
  2. ./autogen.sh && ./configure && make -j 4
  3. 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.

安装完成后

  1. Libraries have been installed in:
  2. /usr/local/lib
  3. If you ever happen to want to link against installed libraries
  4. in a given directory, LIBDIR, you must either use libtool, and
  5. specify the full pathname of the library, or use the `-LLIBDIR'
  6. flag during linking and do at least one of the following:
  7. - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
  8. during execution
  9. - add LIBDIR to the `LD_RUN_PATH' environment variable
  10. during linking
  11. - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
  12. - have your system administrator add LIBDIR to `/etc/ld.so.conf'
  13. See any operating system documentation about shared libraries for
  14. 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

  1. wget https://github.com/google/protobuf/releases/download/v3.0.2/protobuf-cpp-3.0.2.tar.gz
  2. tar -xvf
  3. ./configure
  4. make #编译时间好久
  5. make check
  6. sudo make install
  7. 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格式。
看到这用到汇编我就哭了

  1. wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
  2. tar -xf yasm-1.3.0.tar.gz
  3. ./configure
  4. make
  5. make install

运行

  1. rethinkdb
  2. stf local
  3. 在浏览器中输入地址:http://localhost:7100/ 访问客户端。
  4. 如果要远程调试,stf local --public-ip 192.168.153.129 --allow-remote
  5. 有些包没安装报错
  6. cd /usr/local/lib/node_modules/stf/
  7. npm install

其他

各种运行报错,检查错误,然后修复即可
包括http://phantomjs.org/download.html
这个插件的安装,环境变量的添加

npm install jpeg-turbo

原文地址:https://www.cnblogs.com/leestar54/p/6368219.html