STF又称OpenSTF,它是一个手机设备管理平台,能够对手机进行远程管理、调试、远程手机桌面监控等操做。这个系统相似于目前很流行的云测服务好比Testin,虽然网页上提供的设备很像模拟器中的设备,可是实际上都是真机。php
OpenSTF是使用nodejs和angularjs开发,遵循apache licene2.0开源协议,用户能够对源码进行修改发布。(源码地址:https://github.com/openstf)node
一、 在Web上支持管理上百个android设备。
二、 支持Android多个版本(2.3.3 ~ 9.0),并且不须要root。
三、 实时屏幕操做和显示。
四、 支持adb connnect远程链接调试。
五、 能够从PC机键盘输入到远程的android设备中。
六、 安装卸载APK。
七、 android设备信息的展现(如:网络状态、MIME、android版本、手机型号等等)。
八、 远程开关机、远程开关WIFI、截屏、LogCat等等。android
VMware workstation、Ubuntu镜像文件(http://mirrors.melbourne.co.uk/ubuntu-releases/)目前做者选择的是18.10的ubuntu-18.10-desktop-amd64.iso。nginx
①详细搭建ubuntu虚拟环境做者不在这里详细介绍,固然还有Linux搭建JDK、Android SDK环境,此处给出国内下载地址,读者能够自行下载安装配置(http://tools.android-studio.org/index.php/sdk/)。git
②安装dockerangularjs
默认ubuntu虚拟环境已经搭建好:github
命令行以下:docker
更新软件:sudo apt-get update数据库
安装:sudo apt-get install docker(这里可能会报各类依赖的错误,按照提示apt install -f 依赖包、或者按照提示解决--fix-missing便可)apache
安装:sudo apt-get install docker.io
查看docker 镜像 :sudo docker images(这边因为还没安装任何镜像,列表暂时为空)
③从docker上拉取STF相关的镜像
备注:拉取镜像时,因为国内某些缘由可能拉取的比较慢,做者推荐使用aliyun镜像加速器(又快还不要钱,好产品广告一波),可登录阿里云官网(https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors)根据详细说明配置加速器。
STF镜像:sudo docker pull openstf/stf:latest
android adb 镜像:sudo docker pull sorccu/adb:latest
rethinkdb镜像:sudo docker pull rethinkdb:latest
openstf镜像:sudo docker pull openstf/ambassador:latest
nginx 代理镜像:sudo docker pull nginx:latest
查看已经拉取的docker镜像:sudo docker images
④修改虚拟机网络设置
虚拟机顶部点击“编辑”——“虚拟网络编辑器”
选择VMnet0 选择桥接模式
虚拟机顶部点击“虚拟机”——“设置”
选择桥接模式
更改ip:sudo vi /etc/network/interfaces
设置DNS文件:vi /etc/resolv.conf 输入192.168.43.XXX,网关要和上图同样,因为这是一次性的,也就是重启以后就会失效,因此咱们要去修改下启动文件
修改启动脚本: vi /etc/rc.local 输入 echo "nameserver 192.168.43.XXX" >> /etc/resolv.conf,网关要一致
启动配置文件:/etc/init.d/networking restart
这里可能会报错:
root@michael-virtual-machine:/home/michael# /etc/init.d/networking start
[....] Starting networking (via systemctl): networking.serviceJob for networking.service failed because the control process exited with error code.
See "systemctl status networking.service" and "journalctl -xe" for details.
failed!
这里咱们使用这个尝试:
sudo service network-manager restart
检验:
ping 物理机IP地址,能够ping通
⑤启动镜像(注意有前后顺序)
先启动一个数据库:
docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090
再启动adb service:
docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest
再启动stf 启动的时配置的IP地址为你虚拟机桥接的网址:
docker run -d --name stf --net host openstf/stf stf local --public-ip 192.168.43.55
查看 启动的docker镜像 命令:
sudo docker ps -a
⑥大功告成:
虚拟机中输入:192.168.43.23:7100
用户名:随意输入
邮箱:符合邮箱格式便可
若是重启完虚拟机发现没法联网:
1、网络从新设置
1.在VMWare中的编辑菜单中,选择“虚拟网络编辑器”,还原设置,而后选中VMnet0,将其设为桥接
2.接下来设置刚安装好的Ubuntu虚拟机,将网络适配器选为自定义VMnet0
3.启动虚拟机系统Ubuntu,在系统图形界面中,选择网络设置,指定IP4的网络地址及DNS
2、重启docker
1.切换到root用户: su root
2.设置开机自动启动docker服务:systemctl enable docker
3.启动docker:systemctl start docker
4.此时重启docker后images会所有退出(sudo docker ps -a 镜像的STATUS应该所有是EXITED),须要重启全部镜像(stf、adbd、rethinkdb)
5.启动stf :sudo docker start stf
6.启动adbd:sudo docker start adbd
7.启动rethinkdb:sudo docker start rethinkdb