
高度自定义工具OneMore开发
iliuqi一、OneMore的诞生
在公司其他事业部有一个工具包bsptools集成了一些常用的工具,咨询了作者不开源。
同时设计的UI界面因为偏重于实用,界面设计也较为复古
受到此软件的启发,有了制作一款高度自定义的集成工具的想法,OneMore由此诞生。
下图为软件登录界面
二、框架设计
OneMore使用了pyqt6+fluent-widgets(https://github.com/zhiyiYo/PyQt-Fluent-Widgets/tree/PyQt6)进行开发,以侧边导航栏为分类,以新建标签页的形式来呈现每个工具的功能。将工具所需要的变量以可视化的方法交由使用人员配置进行。
app/common: 存放通用的一些接口
app/resource: 存放资源文件,包括图标,背景图片,语言翻译文件等等
app/view/mtk_subinterface: 存放侧边导航栏MTK的工具集
app/view/qcom_subinterface: 存放侧边导航栏高通的工具集
app/view/ui : 设计为QT designer的ui设计文件,但是暂时里面只存放了测试ui
app/main_window.py: 主窗口文件
app/mtk_interface.py: mtk界面设计界面
app/qcom_interface.py: 高通界面设计界面
app/register_window.py: 账号登录界面
app/setting_interface.py: 设置界面
三、当前已实现功能
完成登录界面(后续软件会增加一些登录的限制,防止软件泛滥)
设置界面设计完成,包括深浅色模式切换、语言选择等等
导航栏设计完成,方便后续新增分类
标签页设计完成,方便后续分类中的tool新增标签页的
tool执行页面设计完成,以工具简介/工具详细描述/工具执行参数可视化等元素
已实现MTK分类/Aee extractor的工具可视化
已完成高通分类/Linux Ramdump Parser的工具可视化部分
将UI与业务逻辑分离,后续增加新工具只需要实现业务逻辑
增加dtb解析dts工具
增加android images unpack工具
增加gdb调试工具
增加memory analyzer tool
增加MTK分类的KE/NE分析工具
增加NOC Decode工具
四、后续期望
- 集成wifi/bt/charger/audio/等bsp模块的相关的工具或者测试脚本(会优先短距/charger/audio的工具集成)
- 集成稳定性相关工具
- 集成手机常用工具,比如跳过开机界面,同步手机时间等
- 增加串口工具(暂时遥遥无期,毕竟串口工具可选的很多)
- more…
五、共同开发
本着Linux开源的思想,本项目完全开源!
项目地址:https://github.com/miniLQ/onemore
- 如果您对此项目感兴趣,并且有能力协助一起开发,期待您的PR https://github.com/miniLQ/onemore/pulls
- 如果你对此项目有一些idea,也可以在issue提出您的建议,谢谢!https://github.com/miniLQ/onemore/issues