虚拟机ubantu下的stf安装与问题解决

STF安装部署

第一,第一步先下载安装docker。后续采用docker安装STF的整个环境。

安装Docker
sudo apt-get update # 更新软件包
sudo apt-get install docker-ce docker-ce-cli containerd.io # 安装Docker

如果遇到问题可参考如下文章探索
-https://www.cnblogs.com/songxi/p/12788249.html

第二,启动docker拉取安装所需的STF的镜像。过程中可能有问题可随时使用logs命令查看容器报错。

sudo docker pull openstf/stf:latest # STF镜像
sudo docker pull sorccu/adb:latest # adb 镜像
sudo docker pull rethinkdb:latest # rethinkdb 镜像
sudo docker pull openstf/ambassador:latest # ambassador 镜像
sudo docker pull nginx:latest # nginx 镜像

第三,运行对应的容器,启动顺序按:启动rethinkdb -> 在启动adb -> 在启动openstf

1.启动rethinkdb 数据库
sudo docker run --restart=always -d --name=rethinkdb --net=host -v /srv/rethinkdb:/data rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090 # -d 静默后台启动 ,--name 重命名, -v 挂载文件 --net 网络模式host
2.启动adb
sudo docker run --restart=always -d --name=adbd --privileged --net=host -v /dev/bus/usb:/dev/bus/usb sorccu/adb:latest #启动adb
3.启动openstf
sudo docker run -d --name=stf --net=host openstf/stf stf local --public-ip 192.168.1.108 #192.168.1.108 为虚拟机的IP地址,此模式只能在虚拟机上启动STF

如果需要开启在其他设备也可访问的stf需要设置remote模式:
sudo docker run -d --name=stf --net=host openstf/stf stf local --public-ip 192.168.1.108 --adb-host 192.168.1.102 --adb-port 5037 --allow-remote# 192.168.1.108 为虚拟机IP,192.168.1.102为window地址

PS:虚拟机的IP采用 网桥设置模式,查看方法 ip addr

4.查看安装后的容器状态,是否已成功启动
sudo docker ps -a #如果STATUS均为 UP XX 则表示已成功运行,如果出现exist XX,则使用 sudo docker logs XXX查看启动报错

第四,安装成功打开浏览器验证

浏览器输入localhost:7100
用户名admin , 密码 admin@qq.com


遇到的问题

设备这里没有显示设备,STF无法识别到adb


解决:安卓设备安装stfservice.apk,并启动此服务
1.从github上下载APK, https://github.com/openstf/STFService.apk/releases/tag/v2.4.3
2.使用adb install -r 安装
3.使用命令启动此服务
adb shell am start -n jp.co.cyberagent.stf/.IdentityActivity
adb shell am startservice -n jp.co.cyberagent.stf/.Service

4.虚拟机的USB设置需要设置为安卓

posted @ 2022-11-22 15:32  lili414  阅读(284)  评论(0编辑  收藏  举报