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