0
点赞
收藏
分享

微信扫一扫

android 调试工具之facebook stetho介绍


概述

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

android 调试工具之facebook stetho介绍_chrome

查看网络请求(类似于fiddler或者charles):

android 调试工具之facebook stetho介绍_chrome_02

查看数据库等

android 调试工具之facebook stetho介绍_ide_03

使用

使用主要分为4部:

1. 项目添加依赖

com.facebook.stetho:stetho:1.3.1‘

2. 初始化 Stetho

public class MyApplication extends Application 
public void onCreate() {
super.onCreate();
Stetho.initializeWithDefaults(this);
}
}

3. 修改网络请求(可自行修改app的请求方式)

对于请求的方式,可以根据自己项目实际网络的使用情况来选择,这里比如我使用的okHttp。

new OkHttpClient.Builder() .
addNetworkInterceptor(new

运行项目

在chrome中访问 chrome://inspect。然后找到你的项目 点击 inspect就可以开始调试了。

自定义dumpapp 插件

定义插件是扩展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

至于MyDumperPlugin的编写,可以参考官方的写法,插件的使用是与dumpapp工具结合的,而上文中的dumpapp只是截了一张图,却没有解释如何使用,其实该插件位于官方项目的scripts目录下,可以自行研究其原理。

附; ​​facebook/stetho​​​
​​​教程涉及源码​​


举报

相关推荐

0 条评论