在 Android 调试模式中使用 Stetho

发布于 2024-12-23 19:58:19 字数 2333 浏览 5 评论 0

最近 FaceBook 发布了一个叫做 Stetho 的工具.这个工具是一个谷歌浏览器的开发者工具扩展 ,它可以用来检测你的应用。我发现这东西挺好用的,因为它还提供了访问应用中 SQLite 数据库的接口。很明显,这种类型的工具只应该在应用的调试模式中使用。接下来我们来看看怎么用这个工具。

添加依赖

为了保证只在调试模式中使用 Stetho,你可以添加一个调试编译依赖,而不是平时常用的普通依赖类型。

depencencies {
// your other dependencies here...
debugCompile 'com.facebook.stetho:stetho:1.0.0'
}

在调试模式中初始化 Stetho

现在我们在调试中使用 Stetho。你会怎么做?当然使用牛逼闪闪的 Android Gradle 构建系统啦。创建一个源文件夹,目录结构为 src/debug/java。这个目录中的代码仅仅是用于调试模式。这个目录结构和 src/main/java 很像,因为构建模式就是用于应用程序的调试的。(这句话再想想)。然后添加一个 Stetho 主页上描述的 Application

import com.facebook.stetho.Stetho;

public class MyDebugApplication extends MyApplication {
  @Override
  public void onCreate() {
    super.onCreate();
    Stetho.initialize(
        Stetho.newInitializerBuilder(this)
            .enableDumpapp(Stetho.defaultDumperPluginsProvider(this))
            .enableWebKitInspector(Stetho.defaultInspectorModulesProvider(this))
            .build());
  }
}

看清楚这个类是怎样继承一个已经有的 MyApplication.类的。这样写的确很方便,因为你的应用里可能已经有一个 application 来进行其他的初始化了。如果你还没有一个 application。你从 android.app.Application.继承一个就行了。

激活我的调试应用

最后一步,我们要做的工具是确保当前的应用的调试版本使用的是 MyDebugApplication 类。在这里我们用 Gradle 来验证。在 src/debug 文件夹中添加一个 AndroidManifest.xml

<manifest
  package="com.mycompany"
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools">

  <application
    tools:replace="android:name"
    android:name=".MyDebugApplication"/>

</manifest>

这个 AndroidManifest.xml 会合并到 src/main 中的主 AndroidManifest.xml 文件里,并且会替换标签中的 android:name 属性。这是因为我们特别添加上了 tools:replace="android:name"属性。真屌。

现在当你启动程序的调试模式, Stetho 就会被激活。如果你切换到发布版本,Stetho 绝对不会被激活,也看不到它的任何痕迹。如果想要不丢人,程序员要保证软件没有 BUG。

总结

用 Android Gradle 构建系统,可以很容易的给你的应用添加更多的调试功能。这门手艺不仅可以用在 Stetho 上,还可以用于那些你希望仅仅在调试模式中添加的类库或者工具。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

榕城若虚

暂无简介

文章
评论
25 人气
更多

推荐作者

迷鸟归林

文章 0 评论 0

alipaysp_h2Vbo4sv6k

文章 0 评论 0

清风无影

文章 0 评论 0

mnbvcxz

文章 0 评论 0

听不够的曲调

文章 0 评论 0

秋叶绚丽

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文