基于STF/ATXServer2 移动设备管理平台的搭建( 二 )
- 通过docker images查看镜像文件是否拉取成功
- 先启动一个数据库
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
docker run -d --name stf --net host openstf/stf stf local --public-ip 宿主机IP地址
一定要注意启动顺序 , stf 依赖 rethinkdb , 所以要先启动 rethinkdb , 启动完成后使用: docker ps -a 查看是否启动成功 , 顺便获取stf的container ID 。文章插图
(4) 启动STF程序
- 首先进入stf镜像目录
docker exec -it stf的containerID /bin/sh
- 启动stf命令
stf local --public-ip 宿主机IP地址 --allow-remote
启动之后 , 局域网浏览器输入 http://宿主机IP地址:7100 可以打开STF登录界面 , 随意输入帐号邮箱后登录 , 不过目前还没有设备 。文章插图
(5) 连接设备
由于是在Centos虚拟环境搭建的平台 , 不能进行设备直连 , 故在局域网windows电脑连接设备进行远程连接 , 在未安装STF 的电脑上暴露adb端口(搭建SDK环境) , 建议采用默认端口:5037;
指定端口号与服务器进行通讯:
adb -a -P 5037 fork-server server
如果出现以下错误:文章插图
在任务管理器中关掉 adb.exe , 或使用命令 adb kill-server 关掉adb程序 , 重新运行上述命令 。若还是执行失败 , 建议换成低版本adb(1.0.32版本)再试试 。
直到执行命令出现OK 。
文章插图
(6)切换到Centos环境连接windows下移动设备
在启动STF的命令行输入:
stf provider --name localhost.localdomain --min-port 7400 --max-port 7700 --connect-sub tcp://127.0.0.1:7114 --connect-push tcp://127.0.0.1:7116 --group-timeout 900 --public-ip 宿主机IP地址 --storage-url http://localhost:7100/ --adb-host 局域网windowsIP地址 --adb-port 5037 --vnc-initial-size 600x800 --mute-master never --allow-remote
文章插图
连接成功后显示移动设备信息:
文章插图
STF设备列表界面:
文章插图
STF设备操作界面:
文章插图
1.4 过程中可能用到的一些命令docker
docker start 容器名 #启动某个容器docker stop 容器名 #停止某个容器docker rm 容器名 #删除某个容器
linuxnetstat -anp |grep 端口号 #查看端口占用kill -9 对应端口PID #删除进程
文章插图
2. 基于ATXServer2搭建移动设备管理平台2.1 ATXServer2基本介绍ATXServer2其实是在STF基础上 , 使用Python3+NodeJS+rethinkdb搭建的一个设备管理平台 , 功能和STF差不多 , 但是可以实现IOS设备远程控制 。
2.2 ATXServer2远程控制原理简介Android的远程控制主要还是基于 minicap+minitouch+atx-agent;
IOS的远程控制主要还是基于appium fork的WebDriverAgent , 因为appium在WDA中增加了MJPEG Server , 所以让远程投屏成为了可能 。(不过只支持iOS 12.0以上)
2.3 ATXServer2整体项目结构
推荐阅读
- 如何在基于 Ubuntu 中查看一个软件包的依赖
- 全球首发:鸿蒙开源平台OpenGL
- 基于 Vue3.0+Electron 搭建桌面端应用
- 基于SpringBoot的微服务架构与K8S容器部署实践
- 手把手教你如何用SQL解析复杂JSON
- 基于WSL和VSC在window 10打造完美的终端开发环境
- 满清八旗军 清朝八旗军编制
- 浅谈linux下基于UDP服务的负载均衡方法
- 基于阿里Ant Design构建的高颜值开源管理后台UI框架
- 传统CDN调度 vs 基于HTTP调度