无侵入式工具-SmartTool

7,093 阅读2分钟

前言

开发过程中,通过日志,AS等工具查看网络,异常等信息总是感觉不太方便,于是萌发了开发个更好用的工具的想法。要能简单接入,要调试信息能清晰的可视化展示,要交互容易,要页面美观.....于是开始了整理需求,切图,编码......

简介

SmartTool(中文名:机智的兔儿)这是一款离线工具,作用于开发、测试阶段。通过Gradle的方式简单集成。主要检测信息:

  • App基本信息
  • 应用内网络请求
  • 异常信息监控
  • 电量信息
  • UI慢交互
  • 内存信息

10秒接入

在工程下的build.gradle中添加

classpath 'com.wolearn:ajcplugin:1.0.1'

在module下的build.gradle中引入插件

apply plugin: 'wolearn.ajcplugin'

同时引入依赖

compile 'com.transfar:smarttoolui:0.9.7'

在Application的onCreate()函数中添加启动函数

SmartToolCore.getInstance().init(this);

有些机型可能需要添加权限

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

Demo地址(可以star哦)

github.com/wolearn/Sma…

功能

接入成功后,App启动时会在页面上显示一个SmartTool的图标悬浮窗。悬浮窗中间显示的数字是当前所有应用消耗内存占用的比例。点击图标即可看到以下功能。

1.基本信息展示

2.应用内网络请求

3.异常信息监控

4.电量信息

5.UI慢交互

6.内存信息

说明

  • 本工具采取了无侵入的方式,除了上述的接入代码,不用写其他任何代码
  • 抓取网络信息目前只适配了Okhttp3 Retrofit2
  • 本工具只适用于上线前的阶段,上线请移除接入的代码
  • 本工具相关的知识点:AOP后续可能出文章详细说明
  • 有问题或建议可以给我留言,工具后续还有更新请关注
  • 以后所有更新以github上的文档为准

关于

感谢贡献代码的另外两位同学:农文学,时文涛
欢迎关注的我
github
简书
掘金

(微信扫一扫)