Android 调试模式工具的Stetho

Stetho的工具,这个工具可以使我们通过Chrome Developer工具来检查Android 应用程序。我发现这非常有用,因为这个工具还可以访问应用程序中的SQLite数据库。 很明显,这种类型的工具应包含于Android 应用程序的调试模式中。这里有一个很好的方法来完成这个工作。

添加依赖

debugCompile(调试编译)的依赖,而不是常常使用到的compile(编译)类型。

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

在调试模式中初始化Stetho

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)可从android.app.Application.继承一个就行了。

激活调试应用

MyDebugApplication类。此外,在这里我们用Gradle 搭建系统来实现这个步骤。那就是在AndroidManifest.xml 文件添加至src/debug

<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属性。真是太棒了!Stetho就将激活。如果我们转为发布变量,此变量将无迹可寻且Stetho也不会激活。发布版本没有出现偶然故障,程序开发人员的工作完成的很好。

结论

Stetho上,还可以用在那些仅仅希望在调试模式中添加的类库或者工具的工作中。