STF 一个安卓手机远程真机调试平台

JiaXin · 2020年05月05日 · 最后由 Alisa 回复于 2021年01月18日 · 3271 次阅读

开发背景
STF 是最早的远程真机调试平台,现在所有的远程真机调试其实都是借鉴了它的实现思想。但是 STF 的使用中存在一些不足,
1、并不能很好兼容国内各种各样的安卓定制化手机,如果你经常使用过 STF,一定遇到过 STF.APK 无法正常安装到手机或者无法正常自动启动服务的情况。
2、STF 使用 MINITOUCH 进行点击,而 MINITOUCH 基于的安卓系统的/dev/event 文件进行操作,从 android10 开始,已经不允许用户 OPEN 这个文件。所以 MINITOUCH 已经不能支持 10 版本操作系统,也就是 STF 无法支持安卓 10 以上版本手机操作。未来的安卓 11 还没有看,估计以后也将不再支持。
3、STF 使用的 RETHINKDB 这种 NOSQL 数据库,并且该软件已经不再有技术支持了,开发公司破产了。造成 STF 的数据维护非常不主流。
4、STF 使用 NODEJS 技术研发,其实也是不是很主流,维护起来也不是很好,特别需要和其他企业平台结合的时候。

基于以上的工作中遇到的困难,研发了此平台。

技术背景
1、 使用主流的 JAVA 语言,SPRING 框架,数据库数据存储使用 MYSQL,便于大多数开发者维护。
2、屏幕的获取依然采用 MINICAP,点击废弃了 MINITOUCH,使用 ADB 的点击方式,远程 ADB 调试依然采用 ADBKIT。
特点
1、可以兼容安卓 10 以上版本。
2、不需要安装 APK,启动 APK 的服务,这样避免掉一些国产手机的兼容问题。经过公司内容 300 台以上安卓真机测试,基本兼容。

体验传送门
可以通过以下链接,安卓远程真机调试功能体验。
[http://219.142.7.208:9010/PhoneRemoteControlPlatform/devicelist?userid=1]

开源代码地址
[https://github.com/scvjx/PhoneRemoteControlPlatform]

期望
其实除了 STF,国内很多云测厂商都有自己的远程调试平台实现,有一部分就是照搬的 STF,有一部分再 STF 的思路上二次开发。但是真正经过实践并且开源的调试平台并不多。
开源代码期望所有有需求的人可以利用代码,并且在此基础上给与我建议和意见,提高代码的质量,完善一个可靠的平台。
该代码也在 testerhome 开源工具申请提交,望能审核通过。

共收到 13 条回复 时间 点赞

试用了下,完成度相当高!

JiaXin #10 · 2020年05月06日 Author
🔥🔥🔥 回复

现在可以了。。。五一假期服务器在公司 DOWN 了。。。😂

长按,拖动,滑动的实时性 ADB 怎么保证呀。

YueChen 回复

滑动很好实现啊,adb 有滑动的方法。可以试试目前支持滑动,长按的话也有。你可以试试点击鼠标超过 1 秒就是长按。 但是拖动目前还没有想到好的解决办法。如果谁有好的办法可以指导。 另外 minitouch 如何实现的?

仅楼主可见

点个赞,好多机型

将 PhoneRemoteControlPlatform.war 放到 TOMCAT 中
请问 war 包在哪里?想自己部署一套环境

WAR 没有放上来,源码可以在 git 下载自己打包

有点卡,不流畅

JiaXin #12 · 2020年06月11日 Author
cmlanche 回复

这个远程调试对网速的确有要求,网速不好就卡。这个暂时还没有太好办法,如果有想法可以优化。

我部署跑不起来,一直" 等待设备初始化"这里循环

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册