前言

Stetho是Facebook开源的Android调试工具 GIthub点这里 它可以:

  1. 网络监控:包括图片预览、网络请求监控、以及将网络数据整理成HAR格式
  2. 数据存储:查看数据库、Sharedpreference等(无需root设备)
  3. View视图查看(要求API15+)
  4. DumpAPP
  5. Java Script交互

实战

1.基本使用

1.1在gradle中添加依赖

 // Gradle dependency on Stetho dependencies { debugCompile 'com.facebook.stetho:stetho:1.5.1' //下面的两个依赖是非必须的,只有在需要监控网络的时候需要添加debugCompile 'com.facebook.stetho:stetho-urlconnection:1.5.1'debugCompile 'com.facebook.stetho:stetho-okhttp3:1.5.1'}

1.2在application中进行初始化

一般情况下,我们只在debug模式下进行stetho的初始化

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

1.3添加网络监控

new OkHttpClient.Builder().addNetworkInterceptor(new StethoInterceptor()).build();

如果是Retrofit,只需要将上面的okhttpclient作为参数传入retrofit构造即可

 sRetrofit = new Retrofit.Builder().baseUrl(baseUrl).client(sClient).build();

1.4 Chrome操作

爱奇艺极速版已经默认集成了Stetho,我们只需要: 在Chrome地址栏输入chrome://inspect回车,我们即可看到我们设备的型号,以及当前已经装了Stetho运行中的进程

我们选择主进程,点击inspect

1.4.1布局视图

当我们选中element的某一个标签后,设备(真机 or 模拟器)上对应的视图会用相对应的蓝色高亮显示,我们选择右侧的properties视图,可以看到该view的属性:

1.4.2 网络视图

在网络视图里,我们可以看到当前设备发起的所有请求:

我们可以选择其中的一条请求,查看其具体的请求信息及其response:

其中,preview视图可以看到一个整理过的JSON数据,而response带有原始数据

1.4.3 数据存储视图

Stetho比较强大的一点是我们无需root设备就可以查看设备的数据存储,包括SQL Database和SharedPreference:

此外,我们可以通过SQL语句直接对数据库的内容进行操作:

2.高级使用

2.1DumpAPP

Dumpapp 为应用提供了一个可扩展的命令行交互接口,提供了一组默认的插件;dumpapp 就在工程的 scripts/dumpapp 下,遗憾的是目前在 Windows 下还用不了,因为它只提供了 Linux/Mac 下的执行脚本。

常用命令(插件): 列出所有 Plugin :./scripts/dumpapp -p com.facebook.stetho.sample -l 打印 SharedPreferences : ./scripts/dumpapp prefs print 写 SharedPreferences : ./scripts/dumpapp prefs write

dumpapp 默认提供的插件就在 com.facebook.stetho.dumpapp.plugins.*,具体使用方法可以参考源码中的说明。

2.2启用JavaScript Console

启用 JavaScript Console 只需在 build.gradle 中添加如下依赖即可

compile "com.facebook.stetho:stetho-js-rhino:1.4.1"

启动 app,在 Chrome 开发者工具的 Console 输入下面代码使 app 打印一个Toast:

importPackage(android.widget);
importPackage(android.os);
var handler = new Handler(Looper.getMainLooper());
handler.post(function() { Toast.makeText(context, "hello", Toast.LENGTH_LONG).show() });

importPackage(android.widget) 等于 java 中 import android.widget.*;,JavaScript 中使用 var 定义变量,这段代码就是创建了一个 handler 并调用 post 方法在 ui 线程弹一个 Toast。

调试工具Stetho使用教程相关推荐

  1. java的调试工具_[Java教程]chrome调试工具

    [Java教程]chrome调试工具 0 2017-11-01 12:00:20 今天在调试bug的时候有一个需求,我需要知道我的代码中有哪些地方在修改body的style,然后我想到了DOM节点监听 ...

  2. facebook的Android调试工具Stetho介绍

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

  3. verilog/vhdl调试工具-Debussy使用教程

    本文介绍一下Debussy工具的使用,它是一个非常好用的verilog/vhdl调试工具!!!

  4. php本机调试工具,PHP本地调试工具EasyPHP使用教程

    如果希望在本地调试PHP程序,就需要先搭建PHP环境,配置Apache是一件比较麻烦的事,通过使用PHP本地调试工具EasyPHP,我们可以将事情变得非常简单. 安装EasyPHP是非常简单的,和安装 ...

  5. Android Stetho 使用教程

    stetho是一个安卓APP网络诊断和数据监控的工具,接入方便,功能强大,是开发者必备的好工具. 主要功能包括:查看数据库文件,查看网络数据,查看布局界面.无需root,只要通过adb连接设备,操作方 ...

  6. php调试工具Xdebug使用教程(云客原创)

    xdebug是一个php扩展,官方地址:https://xdebug.org/index.php,用于帮助开发者调试代码,本文以目前最新的2.6版本为列来讲解,她具备这些功能: 代替php的错误提示: ...

  7. stetho 调试数据库_stetho是适用于android应用程序的最佳调试工具

    stetho 调试数据库 As Android developers, our development life often involves integrating API or web servi ...

  8. Stetho的介绍和使用

    1.简介 stetho是facebook开发的一个开源库,Android应用通过引入stetho,可以在Chrome/Chromium浏览器监控查看网络请求.数据库.SharedPreferences ...

  9. Android—App—必备开发组件—调试工具篇—Stetho[配合OkHttp框架使用]

    一.First and Foremost : 测试同学,在测试Android-App时,所需要的其中一个重要的技能即判断页面数据错误后,能迅速定位是服务器接口问题,还是APP逻辑问题.此时就需要知道服 ...

最新文章

  1. 项目常用的PHP代码
  2. Ubuntu下载gitea
  3. python基础技巧总结(一)
  4. js检测密码强度的功能实现逻辑思路及实例
  5. 实战案例丨GaussDB for DWS如何识别坏味道的SQL
  6. Android Framework 全面分析 BootAnimation
  7. java百度地图离线LBS_百度地图之离线下载功能
  8. (附源码)计算机毕业设计SSM保险客户管理系统
  9. Delphi TStringList的用法
  10. PowerDesigner使用教程 —— 概念数据模型(CDM模型)
  11. Centos 命令行添加VLAN TAG
  12. 上周热点回顾(4.1-4.7)
  13. JS字符串前补位和后补位
  14. WebStrom终端使用git 出现 'git'不是内部或外部命令,也不是可运行的程序 或批处理文件
  15. UVALive 5135 Mining Your Own Bussiness【tarjan点双】
  16. 如何实现视频平台会员多账号登录
  17. python的pillow给图片加文字_python PIL(pillow)图像处理-图片上添加文字
  18. [stm32 HAL库] RTC和BKP驱动
  19. conda创建虚拟环境失败
  20. C语言输出汉字版乘法口诀表,C语言实现打印乘法口诀表

热门文章

  1. 在SQL server中如何定时自动执行存储过程
  2. 7 大开源数据库利弊全对比
  3. 自己封装一些小公举tool.js。。。
  4. AtCoder Regular Contest 132
  5. WEB水晶报表直接打印 ---设置
  6. StringUtils的isNotEmpty和isNotBlank
  7. python rgb2gray,skimage.color中的rgb2gray是如何实现彩色图片灰度化
  8. 月入10k的软件测试学习之路
  9. 031-神奇的字符串
  10. 到底什么是模型预测控制MPC(三)