Stetho是由Facebook提供的开源调试工具,无需root即可进行强大地调试工作(如网络抓包http及https、查看数据库、查看SharedPreferences数据)
一、使用步骤
1、项目中集成Stetho(Stetho的git有详细说明,这里以okhttp3为例)
implementation 'com.facebook.stetho:stetho:1.5.1'
implementation 'com.facebook.stetho:stetho-okhttp3:1.5.1'
2、初始化Stetho
private fun initStethoForDebug() {
if (BuildConfig.DEBUG){
Stetho.initialize(
Stetho.newInitializerBuilder(this)
.enableDumpapp(Stetho.defaultDumperPluginsProvider(this))
.enableWebKitInspector(Stetho.defaultInspectorModulesProvider(this))
.build()
)
}
}
3、使用Stetho
private fun initClient(): OkHttpClient {
return OkHttpClient.Builder()
.addInterceptor(interceptor)
.addNetworkInterceptor(StethoInterceptor())
.build()
}
4、通过数据线连接手机,运行项目,Chrome浏览器访问chrome://inspect/#devices,显示当前应用点击“inspect”
Elements:查看布局信息
Network:网络请求数据包
Resources:数据库、SharedPreferences数据
二、注意事项
1、如果在上述步骤4中点击“inspect”,跳转到空白页并一直显示加载中,解决办法:
(1)翻墙,因为Chrome需要下载工具包,国内无法下载
(2)安装chrome-inspect离线开发者工具包,需要收费
(3)使用我提供Chrome浏览器及工具包(如果使用一段时间后又成空白页,只需重新执行工具包步骤即可)