Stetho 是一款由 Facebook 开发的开源调试库。它允许我们利用 Chrome 开发者工具来排查网络流量问题,从而为 Android 开发者提供了一种丰富且具有高度交互性的调试体验。借助 Stetho,我们可以轻松且流畅地调试网络调用。它是 Android 应用程序的精密调试桥梁。 一旦启用,开发者便可以直连 Chrome 桌面浏览器中原生的 Chrome 开发者工具 功能。开发者还可以选择启用可选的 dumpApp 工具,这将提供一个强大的命令行接口来查看应用程序的内部结构。除了网络检查,它的功能远不止于此,还包括 JavaScript 控制台、数据库检查等。我们将使用 Java 和 Kotlin 编程语言 来实现这个项目。
Stetho 的主要特性
- Stetho 是一个开源的调试平台。
- 它提供了丰富且高度交互的体验。
- 借助 Stetho,原生应用程序的调试变得非常简单。
- 它允许我们针对各种活动使用 Google Chrome 调试工具。
- 它在调试期间提供层级检查功能。
- 此外,Stetho 还允许进行网络、数据库管理以及更多交互式操作。
- Stetho 使用 HTTP web socket 来发送数据。
面临的问题
在开发 Android 应用程序时,调试网络流量是一件令人头疼的事。开发者在使用传统调试工具时往往会遇到各种问题,尤其是在切换设备时,检查过程变得异常复杂。
Stetho 提供的解决方案
有了 Stetho 库,调试变得更加可靠和简单,因为它利用了支持 web socket 的 Chrome 调试工具来进行网络调试。Stetho 实现了调用的自动化检查,因此它对 Android 开发者来说显得尤为重要。
如何使用 Chrome 开发者工具?
Stetho 使用一个 HTTP web Socket 服务器将所有调试信息发送到浏览器。我们可以通过以下地址访问它:
chrome://inspect
逐步实现指南
Step 1: 在 build.gradle 文件中添加依赖
让我们打开模块下的 build.gradle 文件,添加以下依赖项,并点击 Sync Now 按钮。
implementation ‘com.facebook.stetho:stetho-okhttp3:1.5.1‘
Step 2: 在 AndroidManifest.xml 中注册该类,并在 Application 中进行初始化
Java
CODEBLOCK_cf668752
Kotlin
“
import android.app.Application
import android.content.Context
import com.facebook.stetho.InspectorModulesProvider
import com.facebook.stetho.inspector.protocol.ChromeDevtoolsDomain
import com.facebook.stetho.okhttp3.StethoInterceptor
import com.facebook.stetho.rhino.JsRuntimeReplFactoryBuilder
import com.jakewharton.caso.OkHttp3Downloader
import com.squareup.ca