STF安装使用和注意事项
环境搭建
使用homebrew方式安装终端中输入指令
1.安装依赖
brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config
2.安装ADB
brew cask install android-platform-tools
3.安装STF
sudo npm install --unsafe-perm --verbose -g stf
启动STF
1.首先启动rethinkdb
rethinkdb
2.新建一个终端连接ADB
adb start-server
adb connect 10.200.241.215
adb devices
3.新建一个终端启动stf
DEBUG=adb* stf local --allow-remote
如果远程访问执行下面这个命令
stf local --public-ip 本机IP
4.打开浏览器输入地址看到界面就启动成功了
http://localhost:7100/
遇到已知问题和解决方案
1.环境搭建中node.js版本号>6.9小于会报错,我安装到最新的时候也会出现问题没有安装node的要安装一下。安装完成可以查看版本号是否符合
安装大于6.9的版本
nvm install 6.9.5
查看node的版本号
node -v
设置为系统默认的版本
nvm alias default v6.9.5
2.启动rethinkdb端口占用导致启动不起来,之前电脑上安装有jenkins占用端口号,停止jenkins服务就可以
出现错误提示:
error: Could not bind to http port: The address at localhost:8080 is reserved or already in use.
解决方案停止jenkins
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
3.启动stf时候使用命令不同导致启动不起来
启动时候使用下面指令会发现启动失败,内部把没有 --allow-remote 指令时会跳过判断导致不能启动
DEBUG=adb* stf local
使用下面指令是可以正常启动
DEBUG=adb* stf local --allow-remote
修改图片压缩比和帧率
STF目录位置
/Users/自己用户名/.nvm/versions/node/v6.9.5/lib/node_modules/stf
1.修改图片压缩比(0-100)下面修改为20
stf源码文件目录
lib/cli/device/index.js(98行)
default: process.env.SCREEN_JPEG_QUALITY || 20
stf源码文件目录
lib/cli/provider/index.js(117行)
default: process.env.SCREEN_JPEG_QUALITY || 20
2.修改帧率
lib/units/device/plugins/screen/stream.js 507行
case WebSocket.OPEN:
// This is what SHOULD happen.
index++
if(index%4==0){
break
}
ws.send(message, options, function(err) {
return err ? reject(err) : resolve()
})
break
//5帧
index++
if (index % 12 != 0) {
break
}
参考链接
https://blog.csdn.net/m417868/article/details/80006119
https://segmentfault.com/a/1190000016889968
https://blog.csdn.net/zhonglunshun/article/details/80831537
https://www.jianshu.com/p/5b5fef0241af