Stetho 是 Facebook 开源的一个 Android 调试工具。是一个 Chrome Developer Tools 的扩展,可用来检测应用的网络、数据库、WebKit 、SharePReference等方面的功能。开发者也可通过它的 dumpapp 工具提供强大的命令行接口来访问应用内部。推荐它的原因是不需要root,就可以实现上面的功能。配置好之后,在Chrome地址栏输入chrome://inspect 既可。 
查看网络请求(类似于fiddler或者charles):

查看数据库等

使用主要分为4部:
对于请求的方式,可以根据自己项目实际网络的使用情况来选择,这里比如我使用的okHttp。
new OkHttpClient.Builder() . addNetworkInterceptor(new StethoInterceptor()) .build()在chrome中访问 chrome://inspect。然后找到你的项目 点击 inspect就可以开始调试了。
定义插件是扩展dumpapp系统的首选方式,可以轻松地添加在配置。其使用也是非常的简单,如
Stetho.initialize(Stetho.newInitializerBuilder(context) .enableDumpapp(new MyDumperPluginsProvider(context)) .build())private static class MyDumperPluginsProvider implements DumperPluginsProvider { public Iterable<DumperPlugin> get() { ArrayList<DumperPlugin> plugins = new ArrayList<DumperPlugin>(); for (DumperPlugin defaultPlugin : Stetho.defaultDumperPluginsProvider(mContext).get()) { plugins.add(defaultPlugin); } plugins.add(new MyDumperPlugin()); return plugins; }}至于MyDumperPlugin的编写,可以参考官方的写法,插件的使用是与dumpapp工具结合的,而上文中的dumpapp只是截了一张图,却没有解释如何使用,其实该插件位于官方项目的scripts目录下,可以自行研究其原理。
附; facebook/stetho 教程涉及源码
新闻热点
疑难解答