harmonyos怎么进入开发者模式(是我们程序员的任意门)
harmonyos怎么进入开发者模式(是我们程序员的任意门)DoraemonKit 是一个功能平台,能够让每一个 App 快速接入一些常用的或者你没有实现的一些辅助开发工具、测试效率工具、视觉辅助工具,而且能够完美在 Doraemon 面板中接入你已经实现的与业务紧密耦合的一些非通有的辅助工具,并搭配我们的dokit平台,让功能得到延伸,接入方便,便于扩展。每一个稍微有点规模的 App,总会自带一些线下的测试功能代码,比如环境切换功能、帧率查看功能等等,这些功能的切换入口往往放在各式各样的入口中,比如一些特殊的手势,双击 statusBar,双击某一个功能区块,或者新建一个 keyWindow 始终至于 App 最上方等等,而且每一个 App 里面的线下附带功能模块很多是相似的,比如帧率查看、内存和 CPU 监控等等,但是现在基本上都是每个 App 都是自己实现了一份,经历了以上的问题之后,DoraemonKit 就有了它存在的意义。可能之前没有了
还记得,去年我们给大家推荐的滴滴团队开源的开源项目 DoraemonKit 吗?当时的文章是:
《滴滴开源的移动开发者的哆啦A梦》
,不过今天为什么要再次推荐给大家呢?因为 DoraemonKit 强势升级,推出了 3.0 版本,不仅增加了很多的新特性,还有了自己的官网。如下:
官网地址:www.dokit.cn
可能之前没有了解过 DoraemonKit ,还不知道 DoraemonKit 到底是做什么的呢?我再简单介绍一下吧。
DoraemonKit,简称 DoKit,中文名哆啦 A 梦,是滴滴开源的一款功能齐全的客户端( iOS 、Android )研发助手。能够像哆啦A梦一样提供给他的主人各种各样的工具。Just Do Kit 。
具体功能描述如下:
每一个稍微有点规模的 App,总会自带一些线下的测试功能代码,比如环境切换功能、帧率查看功能等等,这些功能的切换入口往往放在各式各样的入口中,比如一些特殊的手势,双击 statusBar,双击某一个功能区块,或者新建一个 keyWindow 始终至于 App 最上方等等,而且每一个 App 里面的线下附带功能模块很多是相似的,比如帧率查看、内存和 CPU 监控等等,但是现在基本上都是每个 App 都是自己实现了一份,经历了以上的问题之后,DoraemonKit 就有了它存在的意义。
DoraemonKit 是一个功能平台,能够让每一个 App 快速接入一些常用的或者你没有实现的一些辅助开发工具、测试效率工具、视觉辅助工具,而且能够完美在 Doraemon 面板中接入你已经实现的与业务紧密耦合的一些非通有的辅助工具,并搭配我们的dokit平台,让功能得到延伸,接入方便,便于扩展。
简单总结
1、DoraemonKit 能够快速让你的业务测试代码能够在这里统一管理,统一收口;
2、DoraemonKit 内置很多常用的工具,避免重复实现,一次接入,你将会拥有强大的工具集合;
3、搭配dokit平台,方便你进行数据mock 以及记录你的每一次健康体检用例。
相比于之前的功能,3.0 版本的具体优化点有哪些呢?
1)DoKit 3.0 相比于上一个版本一共解决了 github 上的 issues 70 多个,合并 PR 30 多个;
2)内部架构升级,其中性能和代码的健壮性都得到了显著的提升;
3)工具优化用户体验优化。
Android
Android 端主要优化了网络拦截、悬浮窗、位置模拟、Aop 解决方案等等:
1)网络拦截统一了 okhttp、urlconnection;
2)悬浮窗新增了普通模式,不再需要系统悬浮窗权限;
3)位置模拟现已支持百度、腾讯、高德、系统原生;
4)AOP 的代码插装方案也由一开始的 Aspectj 改成了 ASM 方案,兼容性和性能也都有了明显的提升。
iOS
iOS 端主要优化了多个工具的用户体验、加速代码安装速度、减少对于业务方的影响等等:
1)NSLog 监控、子线程 UI、CocoaLumberjack 日志日志监控等功能不需要重新启动 App 即可进行开关;
2)pod 仓库多地备份(github、gitee、gitlab),解决 pod install 缓慢的问题;
3)解决 DoKit 的 window 影响 UIMenuController 的吗,导致业务方在某些机型弹不出来的问题;
4)减少代码 hook 对于全局的影响;
5)全局支持中英文切换。
新增工具:
(1)数据 Mock
提供一套基于 App 网络拦截的接口 Mock 方案,无需修改代码即可完成对于接口数据的 Mock。详细介绍:
https://www.dokit.cn/#/index/productCenter
(2)健康体检
一键式操作,整合 DoKit 多项工具,数据可视化,快速准确定位问题,让你对 app 的性能了如指掌。详细介绍:
https://www.dokit.cn/#/index/HealthTest
(3)DBView
主要能帮我们将 db 等本地数据在浏览器中进行操作,十分方便。DBView 和本地沙盒的主要区别在于本地数据库在端上的体验效果并不是很好,因为受限于屏幕的大小,所以我们引入这 DBView,可以将我们的本地数据库和浏览器打通,在浏览器上进行增删改查等等操作,提升我们的效率。详细介绍:
http://xingyun.xiaojukeji.com/docs/dokit/#/DBView
- android 直接接入的 Android-Debug-Database 方案;
- iOS 是由社区同学 y500 提供的 iOSDebugDatabase 感谢该同学的贡献。
(4)函数耗时
Android:函数耗时主要通过 ASM 代码插装的方式,会在指定的包名下进行代码插装,统计每个函数的耗时,默认情况下会在控制台中将执行时间大于 200 微妙的函数调用栈打印出来。后续我们计划将函数耗时和平台端打通,记录下每一个函数耗时操作。
iOS:iOS 采用的额是 Hook objc_msgSend 会以树形结构打印出某一段操作中具体的函数耗时,比 Xcode 的 TimeProfiler 更加直观。详细介绍:
http://xingyun.xiaojukeji.com/docs/dokit/#/TimeProfiler
Android 端效果图
(5)其他工具
- 快速跳转到应用设置 :避免手动去设置里面寻找 App 的麻烦;
- NSUserDefalult(iOS) :对于 NSUserDefalult 的数据方便进行增删改查;
- UI 层级检查 :检查每一个 UI 界面的成绩,成绩太深的话,会影响一定的性能;
- 启动耗时 :检查每一次启动消耗的时间;
- UI 结构(IOS) :可以动态改变每一个 UI 元素的属性,感谢社区 HDB-Li 提供;
等等,是不是功能变得更加强大了,更加好用了呢?
没错,如果感觉不错,赶紧去关注,去 star 一波吧!
开源项目地址:https://github.com/didi/DoraemonKit
开源项目作者:jtsky/金台 yixiangboy/易翔
今天的推荐不知道大家喜欢吗?如果你喜欢,请在文章底部留言和点赞,以表示对我的支持,你们的留言、点赞和转发关注是我持续更新的动力哦!