調(diào)試工具Stetho

Stetho,來自Facebook,它能做什么?無需root,借助Chrome可以查看SharePreferences和數(shù)據(jù)庫中的數(shù)據(jù),此外還有網(wǎng)絡(luò)抓包以及查看View樹等。

github地址

使用教程

配置說明

我們希望只在debug情況下使用這個開源庫。

  • 所以在build.gradle中添加依賴
dependencies {
    debugCompile 'com.facebook.stetho:stetho:1.4.2'
    debugCompile 'com.facebook.stetho:stetho-okhttp3:1.4.2'
}
  • 在build.gradle android節(jié)點下設(shè)置sourceSets
sourceSets {//源集
        main {
            java.srcDirs = ['src/main/java']
        }
        debug{
            java.srcDirs = ['src/main/javaDebug']
        }
        release{
            java.srcDirs = ['src/main/javaRelease']
        }
}
  • 在src/main/javaDebug中創(chuàng)建初始化類StethoUtils
public class StethoUtils {

    public static void install(Application application){
        Stetho.initializeWithDefaults(application);
    }

    public static void addNetworkInterceptor(OkHttpClient.Builder builder){
        builder.addNetworkInterceptor(new StethoInterceptor());
    }

}
  • 在src/main/javaRelease中創(chuàng)建同名類StethoUtils
public class StethoUtils {
    public static void install(Application application){
    }
    public static void addNetworkInterceptor(OkHttpClient.Builder builder){
    }
}
  • 在Application中的onCreate中初始化
if(BuildConfig.DEBUG){
    StethoUtils.install(this);
}
  • 在OkHttpClient初始化的地方添加
OkHttpClient.Builder builder = new OkHttpClient.Builder();
if(BuildConfig.DEBUG){
    StethoUtils.addNetworkInterceptor(builder);
}

如果工程里使用的網(wǎng)絡(luò)庫不是okhttp,請參考官網(wǎng)設(shè)置

關(guān)于引用

文中貼了鏈接的文章都有參考,致謝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容