一、背景

Stetho是 Facebook 出品的一个强大的 Android 调试工具,使用该工具你可以在 Chrome Developer Tools查看APP的布局, 网络请求(仅限使用Volle, okhttp的网络请求库), Sqlite, Preference, 一切都是可视化的操作,无须自己在去使用adb, 也不需要root你的设备

本人使用自己的Nubia Z9 Mini作为调试机,由于牵涉到Sqlite数据库,所以尝试了很多办法把它Root了,然而Root之后就无法正常升级系统。
今天得知一调试神器Stetho,无需Root就能查看数据库以及APP的布局(这一点没有Android Device Monitor使用方便,但是Android Device Monitor在Mac上总是莫名其妙出问题),使用起来很方便,大家可以尝试一下。

转载请注明出处:http://blog.csdn.net/ys743276112

二、配置流程

1.引入主库

使用Gradle方式:

// Gradle dependency on Stetho dependencies { compile 'com.facebook.stetho:stetho:1.3.1' } 

此外还支持Maven方式,这里不做介绍。

2.引入网络请求库

如果需要调试网络且你使用的网络请求库是Volle或者Okhttp,那么你才需要配置,否则跳过此步。
以下根据自己使用的网络请求库情况来导入相应的库:
1.使用okhttp 2.X

 dependencies { compile 'com.facebook.stetho:stetho-okhttp:1.3.1' } 

2.使用okhttp 3.X

dependencies { compile 'com.facebook.stetho:stetho-okhttp3:1.3.1' } 

3.使用HttpURLConnection

dependencies { compile 'com.facebook.stetho:stetho-urlconnection:1.3.1' }

3.配置代码

配置Application

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

配置网络请求库:
OkHttp 2.2.x+ 或 3.x

//方案一
OkHttpClient client = new OkHttpClient();
client.networkInterceptors().add(new StethoInterceptor());//方案二
new OkHttpClient.Builder().addNetworkInterceptor(new StethoInterceptor()).build();

如果使用的是HttpURLConnection,请查阅相关文档。

4.使用

运行重新编译后的APP程序,保持手机与电脑的连接,然后打开Chrome浏览器,在地址栏里输入:chrome://inspect然后选择自己的设备下运行的APP进程名下的Inspect链接 即可进行调试。

三、遇到的问题

1.okhttp版本问题:

可能你还在使用okhttp 2.x的版本,在引入网络库的时候,你需要去查看一下Stetho当前版本使用的okhttp版本,避免在项目中使用多个不同版本的okhttp

PSokhttp2.x和3.x的引入方式略有不同,不可以直接修改版本号来导入:

//2.x
compile 'com.squareup.okhttp:okhttp:2.x.x'
//3.x
compile 'com.squareup.okhttp3:okhttp:3.x.x'

2.配置okhttp代码方案一报错:

//方案一
OkHttpClient client = new OkHttpClient();
client.networkInterceptors().add(new StethoInterceptor());//方案二
OkHttpClient client = new OkHttpClient.Builder().addNetworkInterceptor(new StethoInterceptor()).build();

我在使用方案一进行配置okhttp的时候,会报错:

 Caused by: java.lang.UnsupportedOperationException

不知道是不是兼容的问题,大家在使用的时候请注意。

Stetho官网


转载请注明出处:http://blog.csdn.net/ys743276112

Android必知必会-Stetho调试工具相关推荐

  1. Android 性能优化必知必会(2020-5-16)

    做了这么久性能相关的工作,也接触了不少模块,说实话要做好性能这一块,真心不容易.为什么这么说? 是因为需要接触的知识实在是太多了, Android 是一个整体,牵一发而动全身,不是说只懂一个模块就可以 ...

  2. 脑残式网络编程入门(三):HTTP协议必知必会的一些知识

    为什么80%的码农都做不了架构师?>>>    本文原作者:"竹千代",原文由"玉刚说"写作平台提供写作赞助,原文版权归"玉刚说&q ...

  3. 操作系统:手把手带你扫盲 操作系统 的那些必知必会!

    前言 操作系统 应是程序猿需掌握的知识,但往往会被忽略 今天,我将手把手带大家扫盲 操作系统 的那些必知必会!希望你们会喜欢. 目录 1. 跨进程通信方式(IPC) 注:此处给出移动端 Android ...

  4. Java架构师必知必会,带走不谢

    可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地. 成为Java架构师,需要掌握哪些技能呢 ...

  5. c2064 项不会计算为接受0个参数的函数_【JS必知必会】高阶函数详解与实战

    本文涵盖 前言 高级函数概念 函数作为参数的高阶函数 map filter reduce sort详解与实战 函数作为返回值的高阶函数 isType函数与add求和函数 如何自己创建高阶函数 前言 一 ...

  6. MySQL必知必会教程:深入理解MySQL技术内幕

    2019独角兽企业重金招聘Python工程师标准>>> MySQL必知必会教程:深入理解MySQL技术内幕 作为最流行的开源数据库软件之一,MySQL数据库软件已经是广为人知了.当前 ...

  7. mysql必知必会_《MySQL必知必会》学习小结

    关于SQL,之前通过sqlzoo的题目,完成了入门,也仅仅是入门而已. 最近都在忙着投简历和找新的数据分析项目做(为了练python和面试的时候有的聊),所以SQL放了一段时间没练.目前的工作用不到, ...

  8. php7.2 开启mcy扩展,phper必知必会(二)

    1.说说你对进程,线程以及协程的理解 进程:是系统进行资源分配和调度的基本单位,是基本操作系统结构的基础.进程是程序基本执行的实体.进程与进程之间是独立的,拥有完全独立的地址空间,进程的切换只发生在内 ...

  9. 【web必知必会】—— 图解HTTP(下)

    [web必知必会]-- 图解HTTP(下) 原文:[web必知必会]-- 图解HTTP(下) 上一篇<图解HTTP 上>总结了HTTP的报文格式,发送方式,以及HTTP的一些使用. 本文再 ...

  10. mysql正则表达式关键字_《MySQL必知必会》正则表达式

    <MySQL必知必会>正则表达式 正则表达式 1.1.关键字 REGEXP 正则表达式的使用需要用到关键字 REGEXP . select prod_name from products ...

最新文章

  1. 利用cre2进行分组模式匹配的实例
  2. linux创建ftp指定目录命令行,Linux-命令行建立FTP
  3. 5G同步信号(PSS/SSS)及其时频资源
  4. Android ExpandableListView几个特殊的属性
  5. 2019.4.17 映纷创意首页铺设练习
  6. TensorFlow第六步: 继续挖坑 用tf重写BP并增加SGD
  7. 职场中必需修炼的七项意识
  8. mysql escape 注入_php 防mysql注入函数 addslashes和mysql_real_escape_string
  9. 2014——我们都任性过
  10. 使用网络登陆的id创建odbc后怎么链接_这是一篇关于苹果ID账号分享和规范使用教程。...
  11. 计算机组成原理刘超课后答案,计算机组成原理实验教学的研究.doc
  12. 全球最快下载工具 XDM
  13. CANoe软件安装失败
  14. 三星有钱还是阿里有钱?
  15. 我们真的需要智能路由器?
  16. 基于ArcGIS的城市住房选址分析(以郑州市为例)
  17. CI和Smarty整合并且前后台加载不同配置文件使前台应用Smarty缓存后台不应用
  18. CAD绘制PL线(网页版)
  19. 华为鸿蒙系统没有芯片,被低估的鸿蒙系统,未来或将解决华为缺芯的难题
  20. python3.6.5安装包下载_Python3.6.5安装包 32/64位 官方免费版

热门文章

  1. 用Eclipse建立从Vuze/Azureus工程并编译运行的方法
  2. 使用element分页器进行新闻列表分页
  3. GDOI2017 总结
  4. SOFT_RoCE环境搭建
  5. Pentest BOX安装和使用
  6. SELECT连表查询重复字段
  7. 给寸照换底色(抠头发)
  8. 2020年回顾 | 华清远见研发中心2020年终盘点
  9. 单片机c语言交通灯源程序,51单片机用C语言实现交通灯_红绿灯_源程序
  10. Smartbi自定义生成报表-制作流程