Stetho - Android 调试与开发必备工具

简介

这次来介绍一款让我一试成主顾的工具 - Stetho
Stetho 是 Facebook 开发的一款调适工具,他最大的特色是可以透过 ** Chrome DevTools 观看即时的 App 数据**
他主要提供的功能有:

网路封包检查 (Network Inspection) : 採用 Okhttp3或其他 Network Library 抓取图片、从后端取得资料或是其他网路的沟通...等等,可以透过此功能来得知是哪个封包花费做多时间,需要对哪些封包做调适才可以提升 App 的体验。

资料库检查 (Database Inspection) : 这也是我目前最爱的功能,因为在 Android Studio 3 之前可以透过 Android Device Monitor 汇出 sql 档,再使用 DB Browser for SQLite 读取 sql 即可看到资料库资料与栏位等等资讯,但在 Android Studio 3 之后 Android Device Monitor 被 Google 捨弃,因此目前要取得 sql 档的方式已经改变,但若採用 Stetho 则可在 Chrome 中直接检视 Database Schema 、资料与下 sql command,解决了很多环境的麻烦问题,私心推爆。

布局结构检视 (View Hierarchy) : 可以看到 App 中各层级的分布,很适合检查版面问题,而且如果有写过网页的经验,那这个功能会对你来说非常友善,目前支援 API 15 以上的版本。

扩展命令行介面 (Dump App) : 这个功能我目前还没有深入了解过,但看过其他使用者的介绍,可以透过 Command Line 操作 Chrome DevTools 的参数,还可自订义行为。

Javascript Console : JavaScript Console 允许执行 JavaScript 去调用 App 的内容,因为我对JS不太熟悉,所以这块功能也还没有了解过。

使用

Stetho 的使用方法非常简单,如下步骤所示:

Step 1

在 build.gradle 下的 dependencies 加入 Stetho 1.5.1 (1.5.1 是最新 Release 的版本,你可以依据你的需求做修改)

// StethodebugImplementation 'com.facebook.stetho:stetho:1.5.1'

那会採用debugImplemtation的原因是因为我不想在 App Release 的时候把他一起打包进去

Step 2

在 onCreate() 中加入 Stetho 初始化,并且利用 BuildConfig.DEBUG 就可以确保这段 code 在 Release 的时候不会被执行到喔。

class MyApplication : Application() {  override fun onCreate() {    super.onCreate()    // Stetho Init    if (BuildConfig.DEBUG) {            Stetho.initializeWithDefaults(this);        }    }}

Step 3

把 App run 起来,等到完成后打开 Chrome Browser,并在网址列输入 chrome://inspect,就可以看到此页面

在此页面上可以看到目前正在执行的 Emulator ,以及 Emulator 中正在执行的 App

Step 4

点选 Inspect 后就会打开 Stetho 的视窗,可以打开这页就代表你已经成功引入 Stetho 到 App 中啰~
剩下的就是根据你的需求选择相对应的功能(撒花~

结论

其实使用下来我目前还是最推 Database Inspection 的功能,因为过去要让资料库可视化真的非常麻烦,常常搞到一个头两个大,但透过这个功能就可以在 ORM 执行完之后,直接看到目前 Table 和 Column 的状况,还可以在 Application 执行 sql 后直接透过 Chrome 检查资料有没有遗失以及 Table 之间的 Relation 是不是正确,真的是很优秀的功能喔!!


参考资料

http://facebook.github.io/stetho/https://juejin.im/post/5a30cef7f265da43310dcee3https://zhuanlan.zhihu.com/p/31057280

本文章同时发布于[Android在走,Kotlin要有]系列文章
https://www.coderbridge.com/@RobinChien/e9e3206560764cdb81e06da0c450ca87


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章