http://www.androidcn.org/topic/552fabaa8ca8a1e07687e999#0-tsina-1-39947-397232819ff9a47a7b7e80a40613cfe1

Stetho是Facebook出品的一个强大的Android调试工具,使用该工具你可以在Chrome Developer Tools查看App的布局,网络请求,sqlite,preference,一切都是可视化的操作,无须自己在去使用adb,也不需要root你的设备。使用的方式很简单,配置好之后,在Chrome地址栏输入chrome://inspect (哈哈,和webview 远程调试的方式一样)。废话少说,先来看看效果图。

怎么样,是不是看起来很碉堡,尤其是如果你做过web开发,肯定感觉超级熟悉哈。下面我们就来看看怎么使用这么碉堡的工具。

配置

添加gradle引用

<code style="padding: 0px; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; font-size: 12px; color: inherit; border: 0px; background-color: transparent;"><span class="pln" style="color: rgb(0, 0, 0);">compile </span><span class="str" style="color: rgb(0, 136, 0);">'com.facebook.stetho:stetho:1.1.0'</span></code>

只有stetho库是必须的,想查看网络请求的话,需要使用下面的两个库之一(看你的网络库用的是okhttp还是urlconnection)

<code style="padding: 0px; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; font-size: 12px; color: inherit; border: 0px; background-color: transparent;"><span class="pln" style="color: rgb(0, 0, 0);">compile </span><span class="str" style="color: rgb(0, 136, 0);">'com.facebook.stetho:stetho-okhttp:1.1.0'</span></code>

或者

<code style="padding: 0px; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; font-size: 12px; color: inherit; border: 0px; background-color: transparent;"><span class="pln" style="color: rgb(0, 0, 0);">compile </span><span class="str" style="color: rgb(0, 136, 0);">'com.facebook.stetho:stetho-urlconnection:1.1.0'</span></code>

修改代码

<code style="padding: 0px; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; font-size: 12px; color: inherit; border: 0px; background-color: transparent;"><span class="kwd" style="color: rgb(0, 0, 136);">public</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">class</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="typ" style="color: rgb(102, 0, 102);">MyApplication</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">extends</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="typ" style="color: rgb(102, 0, 102);">Application</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="kwd" style="color: rgb(0, 0, 136);">public</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">void</span><span class="pln" style="color: rgb(0, 0, 0);"> onCreate</span><span class="pun" style="color: rgb(102, 102, 0);">()</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="kwd" style="color: rgb(0, 0, 136);">super</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">onCreate</span><span class="pun" style="color: rgb(102, 102, 0);">();</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="typ" style="color: rgb(102, 0, 102);">Stetho</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">initialize</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="typ" style="color: rgb(102, 0, 102);">Stetho</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">newInitializerBuilder</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="kwd" style="color: rgb(0, 0, 136);">this</span><span class="pun" style="color: rgb(102, 102, 0);">)</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">enableDumpapp</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="typ" style="color: rgb(102, 0, 102);">Stetho</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">defaultDumperPluginsProvider</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="kwd" style="color: rgb(0, 0, 136);">this</span><span class="pun" style="color: rgb(102, 102, 0);">))</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">enableWebKitInspector</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="typ" style="color: rgb(102, 0, 102);">Stetho</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">defaultInspectorModulesProvider</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="kwd" style="color: rgb(0, 0, 136);">this</span><span class="pun" style="color: rgb(102, 102, 0);">))</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">build</span><span class="pun" style="color: rgb(102, 102, 0);">());</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);">
</span><span class="pun" style="color: rgb(102, 102, 0);">}</span></code>

开启网络请求查看

若果你使用了okhttp库,参考下面的代码:

<code style="padding: 0px; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; font-size: 12px; color: inherit; border: 0px; background-color: transparent;"><span class="typ" style="color: rgb(102, 0, 102);">OkHttpClient</span><span class="pln" style="color: rgb(0, 0, 0);"> client </span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">new</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="typ" style="color: rgb(102, 0, 102);">OkHttpClient</span><span class="pun" style="color: rgb(102, 102, 0);">();</span><span class="pln" style="color: rgb(0, 0, 0);">
client</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">networkInterceptors</span><span class="pun" style="color: rgb(102, 102, 0);">().</span><span class="pln" style="color: rgb(0, 0, 0);">add</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="kwd" style="color: rgb(0, 0, 136);">new</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="typ" style="color: rgb(102, 0, 102);">StethoInterceptor</span><span class="pun" style="color: rgb(102, 102, 0);">());</span></code>

如果你使用了HttpURLConnection,你需要使用StethoURLConnectionManager来帮忙。

更多细节请参考stetho源码中的stetho-sample。

facebook的Android调试工具Stetho介绍相关推荐

  1. 让动画不再僵硬:Facebook Rebound Android动画库介绍

    official site:http://facebook.github.io/rebound github : https://github.com/facebook/rebound Rebound ...

  2. GitHub 上排名前 100 的 Android 开源库介绍

    转自:http://www.codeceo.com/article/github-top-100-android-libs.html 本项目主要对目前 GitHub 上排名前 100 的 Androi ...

  3. GitHub上排名前100的Android开源库介绍

    摘要: 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍,至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果,然 ...

  4. Android 借助Stetho在Chrome上调试Android网络、数据库、Sharedpreferences

    Android 借助Stetho在Chrome上调试Android网络.数据库.Sharedpreferences 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/a ...

  5. 调试工具Stetho使用教程

    前言 Stetho是Facebook开源的Android调试工具 GIthub点这里 它可以: 网络监控:包括图片预览.网络请求监控.以及将网络数据整理成HAR格式 数据存储:查看数据库.Shared ...

  6. Android SDK (介绍)

    1,什么是SDK SDK (Software Development Kit) 软件开发工具包是软件开发工程师用于为特定的软件包.软件框架.硬件平台.操作系统等建立应用软件的开发工具的集合. Andr ...

  7. Android手机ROM定制初级教程以及Android系统文件夹结构介绍【转】

    Android手机ROM定制初级教程以及Android系统文件夹结构介绍 一个完整的OM根目录会有以下几个文件夹及文件: data META-IN system boot.img  系统目录说明 1. ...

  8. android调试stetho的那点事

    在调试安卓程序的过程中,受不了每次看日志查看网络的响应和导出db的动作(甚至有时候都无法导出db),这里安利一个facebook出品的神器 stetho,不过这个有些限制,在使用的时候一定的通过usb ...

  9. 移动周刊第 177 期:Android 新特性介绍、iOS 客户端框架演进

    写在前面 本期移动周刊第 177 期如约而至,聚焦 Android.iOS.VR/AR/MR.直播等前沿移动开发技术,收录一周最热点,解读开发技巧,我们希望从中能够让你有一些收获,如果你有好的文章以及 ...

最新文章

  1. R可视化删除ggplot2图中的网格线(Gridlines)
  2. android中使用DisplayMetrics获取屏幕参数
  3. 优秀中层必备的十大能力
  4. python文字识别算法_Python图像处理之图片文字识别(OCR)
  5. UITableView 显示在statusbar 下面
  6. Bash游戏 V2(51Nod-1067)
  7. apt mysql 5.1_linux下apt安装mysql导致mysql.user table is damaged
  8. 居然之家完成35亿定增 小米、阿里等认购
  9. C#利用WCF改进文件流传输的三种方式
  10. 格式notepad自动对齐_6.2 对齐设置
  11. JavaScript学习之初识JS
  12. python爬取ajax_Python爬虫如-何爬取ajax网页之爬取雪球网文章
  13. 系统运维应届生面试题
  14. 全国省市区数据库-拼音-首字母-经纬度-城市编码-邮编-简称-组合称
  15. 求圆和直线之间的交点
  16. python -m pip install --upgrade pip
  17. Proteus使用教程并仿真51程序——LED流水灯
  18. 索尼和ZMP牵手,旨在进军无人机技术和服务的蓝海
  19. 单元测试mock框架——jmockit实战
  20. 小程序实现点击复制内容功能

热门文章

  1. cron翻译_将定时任务cron 解析成中文
  2. 二本计算机考研还是校招,“参加校招,还是考研?”“我选C”
  3. linux ntpd服务器,Linux运维知识之Linux升级NTPD服务器-编译安装ntp-4.2.8p9与配置NTPD服务器...
  4. skew算法_skew数
  5. win10中ubuntu子系统从系统盘迁移到其他盘
  6. 企业营业执照OCR识别
  7. Java异常架构与异常关键字
  8. arima基本原理_时间序列 :ARIMA模型-原理
  9. css距离顶部高度_css大法(二)
  10. 目标检测算法——YOLOv5/YOLOv7改进之结合​ASPP(空洞空间卷积池化金字塔)