1.环境搭建前提
官方文档: https://github.com/openstf/stf
openstf是一个手机设备管理平台, 核心就是远程
所有操作都可以在远程,手机不用数据线连接电脑,直接可以在同一个网段进行wifi连接,wifi连接主机后就可以远程管理控制手机
可以对手机进行远程管理、调试、远程手机桌面监控等操作
1)windows环境,建议安装虚拟机(ubuntu、centos),使用docker安装,openstf不支持windows系统的安装, 可能需要安装十几个包,和依赖以及各种版本的限制
2)mac环境,不建议使用mac安装docker,使用docker安装,一是可以直接macos系统上直接安装,另:安装双系统,使用docker安装,建议第一种
3)公网服务器上搭建,不建议使用,因为设备远程管理的前提是在同一个局域网下;使用公网环境,需要端口反射等技术操作,并且这样的话,任何人都可以访问到你的设备,不建议使用
4)stf安装需要java8环境和adb环境(连接手机)
2.环境搭建
这里介绍docker安装和mac系统的安装
1)docekr安装
拉取镜像:
docker pull openstf/stf:latest docker pull sorccu/adb:latest( adb建议安装sdk,设置安装路径,不建议用docker) docker pull rethinkdb:latest
安装后, 一定要先启动rethinkdb后启动stf
docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090
命令介绍: 网络模式一定要注意选择host模式, -v挂载,挂载目录,一定要找一个可以挂载的目录,一定要设置称自己的目录,他是把容器中的目录挂载到宿主机的目录上,一定要加--bind all参数
启动stf
docker run -d --name stf --net host openstf/stf stf local --allow-remote --public-ip XXX
命令介绍: 一定要加参数--allow-remote,是要允许远程调试的, 一定要保证你的环境有sdk,--public-ip参数是当你不是本地访问的时候需要加的,因为一般都是将stf平台服务和真机放在一个地方,用另一台机器去访问这些设备,这个时候需要加!本地访问就不需要了
访问stf:127.0.0.1:7100 或者自己配置的IP:7100
2)mac安装
根据官网上的介绍https://github.com/openstf/stf安装stf依赖只需要一行命令
brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config
安装stf:
mac安装遇到了一些坑
参考的以下博主的宝贵经验:
https://www.jianshu.com/p/5fe8cb7d214f
这里注意要使用cnpm或者npm和node对应的版本安装stf的时候才不会报错
因为之前安装一直报错,如果有缓存清理不彻底,可以使用该博主的方法,清理掉缓存: https://www.jianshu.com/p/ef1e66e703dc
最后安装成功后,启动rethinkdb;一开始没有加参数,找不到设备
rethinkdb --bind all
启动stf
stf local --allow-remote
这样就可以访问本地的stf了, 账号密码可以随便输入
3.连接设备
真机连接
模拟器连接
打开模拟器,使用adb命令查看设备是否连接上,如果连接上后,stf还没有展示出来,报错如下:
使用以下命令:
设备需要先打开设置页,才能检测到: adb shell am start -n jp.co.cyberagent.stf/.IdentityActivity
最后看到的页面如下: