您当前的位置: 首页 >  android

xiangzhihong8

暂无认证

  • 0浏览

    0关注

    1324博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

android 调试工具之facebook stetho介绍

xiangzhihong8 发布时间:2017-02-26 22:51:39 ,浏览量:0

概述

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

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

这里写图片描述

查看数据库等

这里写图片描述

使用

使用主要分为4部:

1. 项目添加依赖
 compile ‘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 StethoInterceptor()) .build()
运行项目

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

自定义dumpapp 插件

定义插件是扩展dumpapp系统的首选方式,可以轻松地添加在配置。其使用也是非常的简单,如

Stetho.initialize(Stetho.newInitializerBuilder(context)
    .enableDumpapp(new MyDumperPluginsProvider(context))
    .build())

private static class MyDumperPluginsProvider
    implements DumperPluginsProvider {
  public Iterable get() {
    ArrayList plugins = new ArrayList();
    for (DumperPlugin defaultPlugin :
        Stetho.defaultDumperPluginsProvider(mContext).get()) {
      plugins.add(defaultPlugin);
    }
    plugins.add(new MyDumperPlugin());
    return plugins;
  }
}

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

附; facebook/stetho 教程涉及源码

关注
打赏
1482932726
查看更多评论
立即登录/注册

微信扫码登录

0.0423s