Centos7中docker的stf 连接 局域网中 windows下的Android机

其实整个过程很简单,但是刚开始的我,有点乱。整明白了,留一笔。
环境:
    Centos7 内网服务器地址:192.168.0.189 (上面搭建了docker的stf)
    本机地址 windows:192.168.16.123

docker按照上一篇文章搭建即可。

需求:
    我要将本机上的Android,展示在STF界面上

讲一波通俗易懂的原理:
现在如果将Android直接连在Centos上,使用192.168.0.189:7100 直接可以看到已经看到了。
原来开启stf的命令是:
##docker run -d --name stf --net host openstf/stf stf local --public-ip 本地ip

大概意思是:只要连在本地ip这台电脑上的机器,都可以显示出现。
现在需要显示其他电脑上的Android机器(本机电脑),那就得指定电脑,告诉stf,到底局域网中需要显示哪台电脑上的
那就用到新的一条docker命令:
##docker run -d --name stf_provider --privileged=true --net host openstf/stf stf local --public-ip 192.168.0.189 --adb-host 192.168.16.123 --adb-port 5037 --allow-remote

表演正式开始===>步骤:
1.先将docker中原有的stf,stop
2.杀掉docker宿主机中的5037端口 ==> ps -ef | grep 5037   也就是说,docker中的adb容器是不需要打开的
3.再将局域网中电脑(本机电脑windows)的5037端口暴露给其他机器:
adb -a -P 5037 fork-server server
或者 adb nodaemon server -a -P 5037

如果第三步操作后有这个提示:
C:\Users\2018>adb nodaemon server -a
adb F 08-04 23:20:29 15316  9996 main.cpp:153] could not install *smartsocket*
istener: cannot bind to 0.0.0.0:5037: 閫氬父姣忎釜濂楁帴瀛楀湴鍧€(鍗忚/缃戠粶
鍦板潃/绔彛)鍙厑璁镐娇鐢ㄤ竴娆°€?(10048)

那么需要将局域网中的电脑(本机windows)的5037端口删了:

C:\Users\2018>netstat -ano | findstr "5037"
  TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       15920
C:\Users\20180>taskkill /pid 15920 /f
成功: 已终止 PID 为 15920 的进程。


4.执行命令:docker run -d --name stf_provider --privileged=true --net host openstf/stf stf local --public-ip 192.168.0.189 --adb-host 192.168.16.123 --adb-port 5037 --allow-remote
关键词: --adb-host:局域网中那台机器的ip,可以对应上面说的环境
        --name stf_provider 这里的name不要和原来stf的名字一样,不然会提示你已经存在。你也可以删了原来stf的容器
此时,没有意外的话,192.168.0.189:7100就可以显示局域网中的Android机了

可以使用docker logs stf_provider来查看stf_provider容器的日志。

如果觉得前台没有显示,那就查看下docker日志
>>docker logs stf_provider
看到这样的提示就对了
2020-08-06T09:05:17.684Z INF/device:plugins:touch 117 [1181cef8] Touch origin is top left
2020-08-06T09:05:17.685Z INF/device:plugins:touch 117 [1181cef8] Requesting touch consumer to start
2020-08-06T09:05:17.686Z INF/device:plugins:touch 117 [1181cef8] Launching touch service
2020-08-06T09:05:17.694Z INF/device:plugins:touch 117 [1181cef8] Connecting to minitouch service
2020-08-06T09:05:17.843Z INF/device:plugins:touch 117 [1181cef8] minitouch says: "Note: device /dev/input/mice is not supported by libevdev"
2020-08-06T09:05:17.883Z INF/device:plugins:touch 117 [1181cef8] minitouch says: "Type B touch device ft5x06_ts (720x1440 with 5 contacts) detected on /dev/input/event1 (score 22022)"
2020-08-06T09:05:18.013Z INF/device:plugins:touch 117 [1181cef8] Reading minitouch banner
2020-08-06T09:05:18.014Z INF/device:plugins:touch 117 [1181cef8] minitouch says: "Connection established"
2020-08-06T09:05:18.057Z INF/device:plugins:vnc 117 [1181cef8] Starting VNC server on port 7402
2020-08-06T09:05:18.059Z INF/device:plugins:browser 117 [1181cef8] Loading browser list
2020-08-06T09:05:18.081Z INF/device:plugins:browser 117 [1181cef8] Updating browser list
2020-08-06T09:05:18.081Z WRN/device:plugins:browser 117 [1181cef8] Unmapped browser "com.alibaba.android.rimet"
2020-08-06T09:05:18.082Z WRN/device:plugins:browser 117 [1181cef8] Unmapped browser "com.ss.android.article.news"
2020-08-06T09:05:18.083Z INF/device:plugins:mute 117 [1181cef8] Will not mute master volume
2020-08-06T09:05:18.215Z INF/device:resources:minirev 117 [1181cef8] Installing "/app/vendor/minirev/arm64-v8a/minirev" as "/data/local/tmp/minirev"
2020-08-06T09:05:18.261Z INF/device:plugins:forward 117 [1181cef8] Launching reverse port forwarding service
2020-08-06T09:05:18.267Z INF/device:plugins:forward 117 [1181cef8] Connecting to reverse port forwarding service
2020-08-06T09:05:19.271Z INF/device 117 [1181cef8] Fully operational
2020-08-06T09:05:20.734Z INF/provider 46 [*] Providing all 1 device(s)

如果log中有这个提示:
INF/provider 46 [*] Receiving input from "tcp://127.0.0.1:7114"
Unhandled rejection Error: spawn adb ENOENT
    at _errnoException (util.js:1024:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
    at onErrorNT (internal/child_process.js:372:16)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
就说明第二步没有做好。是宿主机的5037端口,删除端口就好了。

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值