美文网首页
mac下搭建openstf移动设备批量管理环境

mac下搭建openstf移动设备批量管理环境

作者: 李蕴Ronnie | 来源:发表于2019-11-29 18:36 被阅读0次

    mac下搭建openstf环境

    STF是WEB 端批量移动设备管理控制工具,全名Smartphone Test Farm,可以提供远程真机使用调试的功能,已有的云真机平台大多通过STF实现,目前仅支持Android设备,项目地址:https://openstf.github.io/

    安装过程

    1.安装node.js

    brew install node
    
    1. 安装Android-SDK和java
      注意设置环境变量,建议直接安装Android Studio
    2. 安装 rethinkdb
    brew install rethinkdb
    
    1. 安装 graphicsmagick
    brew install graphicsmagick
    
    1. 安装 zeromq
    brew install zeromq
    
    1. 安装protobuf
    brew install protobuf
    
    1. 安装pkg-config
    brew install pkg-config
    
    1. 安装yasm
    brew install yasm
    
    1. 安装bower
      安装前可先将npm 配置项registry修改为淘宝镜像,外国镜像下载较慢可能出问题
    npm config set registry https://registry.npm.taobao.org
    

    然后安装bower

    npm install bower -g
    

    10.安装STF

    npm install -g stf
    

    11.全部装完之后检查环境配置

    stf doctor
    

    (不报错即可,报错按照错误提示解决)

    启动服务

    1.启动rethinkDB

    rethinkdb
    
    1. 启动stf服务端
      本地启动:
    stf local
    

    指定ip和允许远程连接启动:

    stf local --public-ip 10.10.8.18 --allow-remote
    

    启动后在浏览器中输入对应地址http://10.10.8.18:7100/,登录页面的用户名和邮箱随便输入,启动后页面如下:

    QQ20191129-174312.png

    安装中遇到的问题

    Unexpected token ...
    2019-11-29T08:15:59.988Z FTL/cli:local 82786 [*] Child process had an error ExitError: Exit code "1"
        at ChildProcess.<anonymous> (/usr/local/Cellar/node/13.2.0/lib/node_modules/stf/lib/util/procutil.js:49:23)
        at emitTwo (events.js:125:13)
        at ChildProcess.emit (events.js:213:7)
        at Process.ChildProcess._handle.onexit (internal/child_process.js:197:12)
    

    解决方法:
    node.js通过n模块安装多个版本,安装完后切换到8.11版本

    npm install -g n  //安装n模块
    n 8.11  //安装node.js8.11版本(支持8.x版本,但是作者开始用8.0一直报以上错误)
    n  //查看已安装版本,可以上下键切换,回车选择
    
    Error: Could not locate the bindings file. Tried:
    /usr/local/lib/node_modules/stf/node_modules/zmq/build/zmq.node
    /usr/local/lib/node_modules/stf/node_modules/zmq/build/Debug/zmq.node
    /usr/local/lib/node_modules/stf/node_modules/zmq/build/Release/zmq.node
    /usr/local/lib/node_modules/stf/node_modules/zmq/out/Debug/zmq.node
    /usr/local/lib/node_modules/stf/node_modules/zmq/Debug/zmq.node
    /usr/local/lib/node_modules/stf/node_modules/zmq/out/Release/zmq.node
    /usr/local/lib/node_modules/stf/node_modules/zmq/Release/zmq.node
    /usr/local/lib/node_modules/stf/node_modules/zmq/build/default/zmq.node
    /usr/local/lib/node_modules/stf/node_modules/zmq/compiled/6.10.1/darwin/x64/zmq.nodeat bindings
    

    解决方法:
    卸载stf、zeromq,重新安装重新安装zeromq、stf,最好不要用sudo,用sudo可能会出问题,如果遇到权限访问问题,可以通过chmod 777修改文件夹权限

    sudo chmod 777 -R 文件夹路径
    
    WARN EACCES user "root" does not have permission to access the dev dir
    

    解决方法:
    没有文件夹的访问权限,可以通过chmod 777修改文件夹权限

    sudo chmod 777 -R 文件夹路径
    
    xcode-select: error: tool 'xcodebuild' requires Xcode, 
    but active developer directory '/Library/Developer/CommandLineTools' 
    is a command line tools instance
    

    解决方法:
    xcodebuild的路径不正确,将路径切换到Xcode的目录下:

    sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/
    
    1. npm报错
    error code EINTEGRITY
    

    解决方法:
    升级npm

    npm i -g npm
    

    删除package-lock.json
    删除缓存目录下的所有数据

    npm cache clean –force
    

    验证缓存数据的有效性和完整性,清理垃圾数据

    npm cache verify
    

    大家遇到其他问题可以在文章下面留言

    相关文章

      网友评论

          本文标题:mac下搭建openstf移动设备批量管理环境

          本文链接:https://www.haomeiwen.com/subject/idvgwctx.html