滴滴开发调试工具(https://github.com/didi/DoraemonKit)是滴滴开源的一款功能齐全的客户端( iOS 、Android )研发助手

是什么

用图说话,这个调试工具其实就是一个超级工具箱,适合研发、测试、视觉等团队使用的一个内测工具集,它不适合在线上环境使用,或者需要经过改造和精简后才能在线上使用。

我们目前在安卓的debug版本(主要针对研发)和Jenkins上的feature和release上的版本启用了这个工具(适合非研发),而发布版本不启用(也不包含这部分代码)。Jenkins上是通过一个构建参数来控制的,研发也可以在gradle.properties修改同名参数在非debug启用调试工具。
我们看到的APP需要悬浮框权限是这个调试工具使用的,正式的APP是不需要悬浮框权限的。

能做什么

常用工具

  • APP信息:简单的查看系统信息,包括系统版本、硬件环境、APP权限等,方便研发复现环境;
  • 沙盒浏览:简单的文件管理,研发可快速查看APP的缓存文件;
  • MockGPS:在室内开发环境没有GPS信号的情况模拟定位进行初期调试,避免到室外晒太阳;
  • H5任意门:需要研发扩展支持,输入url打开web页,用于调试h5页面,可实现类似我们的H5集成Demo APP的效果;
  • Crash查看:记录上一次闪退日志,和我们RN有点不一样,是原生的闪退;
  • 清除本地数据:清除所有缓存,避免缓存影响,类似重装APP;
  • 日志查看:简单的Logcat日志查看,可以简单的日志级别和关键字过滤,适合在没有开发环境下看log;

性能检测

  • 帧率、CPU、内存:数据都不是很准确,仅供参考,研发的开发环境这些数据更准确。帧率会比实际的低一些,因为这个调试工具本身也有性能开销。
  • 流量监控:内置的抓包工具,需要研发添加上支持,提供波形图展示、流量概要展示、流量列表展示、流量筛选、流量详情,对流量信息统一拦截;
  • 卡顿检测:锁定App出现卡顿的时刻,打印出对应的代码调用堆栈,主要是主线程卡顿,而RN是在独立线程中,这种卡顿这个工具检测不出来;
  • 耗时:主要是指原生Activity的跳转耗时,我们目前是单页面应用,不存在原生页面跳转;而首次启动耗时,因为启动的时候这个工具还没初始化;而我们RN APP耗时主要不在于Activity的启动,而在于RN环境的初始化,所以这个工具对我们目前APP没什么用。RN耗时我们已经通过log打印出来,作为参考,可以在日志查看里面筛选出来。

视觉工具

主要是给视觉验收用的。

  • 取色器:类似于PC的截图工具可以查看像素颜色,研发有没有按视觉给的颜色开发,看一眼就知道。原理是截图并提取像素颜色。
  • 对齐工具:测量元素对齐的,图标按钮有没有对齐,标题栏高度有没有偏差,差了一丢丢都能测出来。
  • 控件检查:简版的DDMS和Appium里面的导出布局工具,这里通过手指滑动就能查看对应组件的宽高等信息。但因为我们是RN APP,这里提取不到View的id和背景颜色。
  • 布局边框:把View的轮廓高亮显示,查看View的边框线。但是它的实现不兼容RN APP,主要是画边框线的方式,会导致闪退,所以对我们目前的APP没用。

还能做什么

哆啦A梦的工具都是可以定制或者自定义扩展的。
比如上面的日志查看功能不好用,日志刷刷刷盖过去了,日志无效信息太长了,日志要点进去才能看等等,那么,理论上也可以改造成直接悬浮框显示的,可以更高级的过滤,可以暂停日志之类的。
除了以上通用的内置组件,我们也可以根据业务需要和实际场景设计一下自定义工具,比如下面这个滴滴APP使用的业务扩展,像环境切换之类的。

回到我们的APP,我们可以做什么?

  • 比如性能埋点开关,打开后能开启性能埋点,本地收集打开模版的耗时信息,方便定位客户问题,又不影响正式的生产环境;
  • 比如插件调试管理,调试阶段本地可以安装和卸载APP插件,而不用到Jenkins打包插件再去服务器安装;
  • 比如原生化内测阶段,可以通过开关测试纯原生和纯RN的目录页。

android开发 修改标题栏背景_Android哆啦A梦调试工具体验相关推荐

  1. android开发 修改标题栏背景_android开发修改状态栏背景色和图标颜色

    修改状态栏背景色和图标颜色 默认是黑底白字的,现在要改为白底黑字的 先看下效果图: Screenshot_2018-01-03-19-20-27-797_com.yiban1314..png 1.状态 ...

  2. android开发 修改标题栏背景_移动开发整体凉凉的背景下,究竟还剩哪些 Android热门前沿知识...

    1. Android架构设计模式 MVC架构设计模式:MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写. MVP架构 ...

  3. Android设置状态栏字体深色,Android实现修改状态栏背景、字体和图标颜色的方法...

    搜索热词 前言: Android开发,对于状态栏的修改,实在是不友好,没什么api可以用,不像ios那么方便.但是ui又喜欢只搞ios一套.没办法.各种翻源码,写反射.真的蛋疼. 需求场景: 当too ...

  4. Android开发,使用背景图(xml drawable)为view 设置边框

    Android 开发中,遇到需要设置边框的情景,使用背景图来实现,代码如下: <layer-list xmlns:android="http://schemas.android.com ...

  5. Android开发:设置背景图片

    在Android开发中,设置背景图片是一个既简单又常用的方法,由于本人现在需要同时做Android开发,所以Android的开发技能也要不断学习储备,不仅是为了给老板省钱,也是为了增加自己的竞争力.那 ...

  6. Android Studio修改标题栏颜色和APP图标

    一.修改标题栏颜色 1.在value的colors.xml文件夹中添加自定义颜色 <color name="myColorWhite">#FFFFFF</colo ...

  7. android开发 修改标题栏背景_基于.NET的APP开发方式中MobileForm的使用smobiler

    样式一 一. Toolbar 1. 目标样式 我们要实现上图中的效果,需要如下的操作: 2. 修改属性 a. 修改Mobile Form的Toolbar属性 获取窗体底部工具栏,打开集合编辑器,并点击 ...

  8. android开发 修改标题栏背景_更改标题栏(Android)中的文字和背景颜色?

    我构建了一个 Android应用程序,我正在尝试更改标题的栏背景和文本颜色. 在AndroidManifest.xml中: ... android:theme="@style/ThemeSe ...

  9. android studio 修改包名_android逆向笔记之初学者常用adb命令

    android逆向常用命令笔记 1.如何导出已安装apk? a.列出已经安装的包 | grep -i 关键字 b.找出安装路径 adb shell pm path 包名 c.拉下来: adb pull ...

最新文章

  1. 谷歌、亚马逊、微软、IBM…这些巨头都已如何通过AI赚到钱了?
  2. 为什么 Python 的 Range 要设计成左开右闭区间?
  3. sap 状态栏添加竖线
  4. ActionContext_、ValueStack、Stack_Context关系
  5. 超励志!从中专生到教授,他32岁成为国家杰青!
  6. 在keil uVision 2/uVision 3下使用伟福系列仿真器的方法:
  7. mysql 结果倒置_菜鸟 问下PHP取出MYSQL数据,然后倒置顺序
  8. Python Web开发框架Django
  9. 20200527每日一句
  10. linux shell脚本 main,Linux shell启动Java Main函数脚本
  11. 363.矩形区域不超过K的最大数值和
  12. matlab仿真脉冲响应函,Matlab仿真下的动态响应分析
  13. 北大AI公开课笔记整理
  14. 响应式网页设计_响应式网页设计中的常用技术
  15. 写一段潮汐调和分析的matlab代码
  16. 博士申请 | 华东师范大学张凯教授课题组招收图神经网络方向博士生
  17. (十)Scratch制作《贪吃蛇》,超详细
  18. css样式被覆盖解决方案
  19. 用Assimp模型加载库加载一个Crytek的游戏孤岛危机(Crysis)中的原版纳米装(Nanosuit)
  20. AMESim2020.1仿真编译失败解决方法之一

热门文章

  1. Leetcode 218.天际线问题
  2. 【leetcode刷题笔记】Convert Sorted Array to Binary Search Tree
  3. lucene分析(未完成)
  4. [转载] python的短逻辑
  5. Vivado中电路结构的网表描述
  6. Maven的下载、安装和配置
  7. Effective C++条款05:了解C++默默编写并调用哪些函数
  8. sql 训练及总结
  9. Java设计模式学习记录-解释器模式
  10. Cordova开发总结(插件篇)