Stetho是Android应用程序的调试桥接器。启用它后,开发人员即可通过Chrome开发者工具来调试应用,这些功能都源于Chrome桌面浏览器。开发者还可以有选择性启用可选的dumpapp工具,该工具为应用程序内部的命令提供了与chrome界面交互强大的能力

特点

通过集成Stetho即可开启Chrome DevTools的调试,它为您的应用程序提供的客户端到服务器协议的实现。集成应用程序后,只需导航到chrome://inspect并单击“检查”即可开始使用

网络检查

利用各种Chrome开发者工具功能进行网络检查,包括图像预览,JSON响应,甚至将请求导出HAR,CURL等

SQLite数据库

SQLite数据库可以通过完整的可视化和交互式的界面完成读/写的操作

查看Android布局层次结构

支持查看Android布局层次结构(API 15及更高版本),比如实际上放置在层次结构中的实例,视图突出显示以及点击视图以跳转到层次结构中的位置

dumpapp

Dumpapp扩展了上面显示的DevTools UI功能之外,也为应用程序组件提供了更广泛的可扩展的命令行界面。提供了一组默认插件,但dumpapp的真正强大之处在于你还能够轻松创建自己的插件

Javascript控制台

Javascript控制台允许你执行可以与应用程序,甚至Android SDK交互的JavaScript代码

安装

可以通过Gradle或Maven作为依赖添加到你项目中

Gradle// Gradle dependency on Stetho

dependencies {

compile 'com.facebook.stetho:stetho:1.5.1'

}

com.facebook.stetho

stetho

1.5.1

下面的依赖根据自己使用HTTP库选择一个dependencies {

compile 'com.facebook.stetho:stetho-okhttp3:1.5.1'

}

或者dependencies {

compile 'com.facebook.stetho:stetho-okhttp:1.5.1'

}

或者dependencies {

compile 'com.facebook.stetho:stetho-urlconnection:1.5.1'

}

集成到你的应用

Stetho为现有Android应用程序提供无缝集成且简单的功能。在您的Application类中只有一个简单的初始化步骤:public class MyApplication extends Application {

public void onCreate() {

super.onCreate();

Stetho.initializeWithDefaults(this);

}

}

这将会开启大多数默认的配置,但不会启用一些额外的钩子,比如网络检查。有关各个子系统的详细信息,请参Context

启用网络检查

如果您在2.2.x +或3.x版本中使用流行的OkHttp库,则可以使用Interceptors系统自动连接接到现有堆栈。这是目前启用网络检查的最简单,最直接的方法

对于OkHttp 2.xOkHttpClient client = new OkHttpClient();

client.networkInterceptors().add(new StethoInterceptor());

对于OkHttp 3.xnew OkHttpClient.Builder()

.addNetworkInterceptor(new StethoInterceptor())

.build();

由于拦截器可以修改请求和响应,因此可以在所有其他拦截器之后添加Stetho拦截器,以准确查看网络数据

如果您正在使用HttpURLConnection,您可以使用StethoURLConnectionManager来协助集成,但这种方法会有一些警告。您必须显式添加Accept-Encoding: gzip到请求标头并手动处理压缩响应,以便Stetho报告压缩的数据有效长度

自定义dumpapp插件

自定义插件是扩展dumpapp系统的首选方法,可以在配置期间轻松添加。只需更换配置步骤:Stetho.initialize(Stetho.newInitializerBuilder(context)

.enableDumpapp(new DumperPluginsProvider() {

@Override

public Iterable get() {

return new Stetho.DefaultDumperPluginsBuilder(context)

.provide(new MyDumperPlugin())

.finish();

}

})

.enableWebKitInspector(Stetho.defaultInspectorModulesProvider(context))

.build());

stetho调试android程序,使用stetho和chrome调试Andorid应用相关推荐

  1. 网易MuMu模拟器调试Android程序

    在调试模拟器时,发现网易 MuMu 模拟器无法直接调试 Android 程序.下面分享一下调试的方法: 1. 打开网易 MuMu 模拟器 很重要,如果不打开,下面操作完了,也是徒劳的. 2. 打开安装 ...

  2. 使用Eclipse调试Android程序时无法安装控制台报错INSTALL_FAILED_UPDATE_INCOMPATIBLE

    1 致谢 感谢xusaomaiss网友的博文 链接如下:http://xusaomaiss.iteye.com/blog/393296 2 问题描述 今天用Eclipse调试Android程序 出现了 ...

  3. Android studio通过荣耀20调试Android程序

    Android studio通过荣耀20调试Android程序 通过Android studio通过荣耀20调试Android程序,要考虑三方面的因素: ·····手机····· ·····windo ...

  4. ubuntu下链接手机调试android程序,ADB无法识别手机

    ubuntu下链接手机调试android程序,ADB无法识别手机 摘要: 最近刚开始接触android开发,用的ubuntu系统,结果无奈,用模拟机开发总是会各种无法真实模拟,而且有些程序也无法测试, ...

  5. Ubuntu(Linux)下手机调试Android程序(小米手机连接上Android ADB)

    我觉得对于一个Android程序员来说,不能用手机调试程序是多么痛苦的一件事情呀!!!至少我是这样哈 刚用Ubuntu的我,马上就碰到了这个问题哈,我的小米2S不能够被android tools ad ...

  6. qt单步调试linux程序,用Qt 调用GDB调试 Arm程序 详细步骤----可单步执行每一行

    前言 本人交叉编译环境 Ubuntu 10.04(虚拟机),编译工具链 arm-hisiv100nptl-linux,Qt 4.8.5 ,QtCreator1.3.1 1.在虚拟机Ubuntu 10. ...

  7. gdb vscode调试linux程序,vscode如何使用gdb调试

    vscode如何使用gdb调试,路径,程序,设备,文件名,可执行 vscode如何使用gdb调试 易采站长站,站长之家为您整理了vscode如何使用gdb调试的相关内容. 1.vscode启动debu ...

  8. as真机调试_如何使用真机调试android程序

    展开全部 第一步:将我们开发所用的Android真机的USB调试功能打开(打开方法为Settings(设置32313133353236313431303231363533e59b9ee7ad94313 ...

  9. Android逆向笔记-IDA Pro动态调试Android程序(真机)

    这里的安卓版本是: Android 5.1.1(Lollipop, API 22) LGE Google Nexus 5 arm 使用的IDA为:IDA Pro 6.8 将android_server ...

最新文章

  1. ORM框架之------Dapper,Net下无敌的ORM
  2. dedecms 栏目列表页链接如何优化
  3. optee中TA的堆的分配
  4. 酱油和gbt酱油哪个好_都说日本的酿造酱油品质好,我国的酱油究竟差在哪儿?...
  5. Android构建流程——篇八
  6. 【CF700E】Cool Slogans【后缀自动机】【可持久化线段树合并】【树上倍增】
  7. AI行业真实现状:做芯片没工作,做视觉、语音血赚
  8. Android Studio项目目录结构介绍
  9. # 语音信号处理基础(十)——梅尔倒谱系数
  10. 玩游戏显示计算机内存不足怎么办,电脑魔兽世界内存不足怎么办
  11. CEIWEI CommMonitor 串口监控精灵v11.0 串口过滤 串口驱动
  12. secedit.exe本地安全策略命令
  13. 降了还是涨了?瓶装水市场再秀迷幻操作
  14. 为防止程序员猝死,这家公司想出了一个好办法
  15. 2020考研初期作息时间表
  16. 洛谷【入门4】数组 P2141 [NOIP2014 普及组] 珠心算测验
  17. Python计算某年某月某日天数
  18. 移动通信网络规划:误码率
  19. PDF文件太大无法上传,如何压缩变小?
  20. sourcemap(未完,待续)

热门文章

  1. centos7安装xrdp
  2. Python数据爬虫学习笔记(21)Scrapy爬取当当图书数据并存储至SQLite数据库
  3. C++ 左移运算符和右移运算符的使用
  4. linux iphone 存储空间清理,苹果系统好,后台运行可以不用清理,安卓手机不清理后台就会卡,咋回事?...
  5. uniapp分享到微信好友和朋友圈
  6. 大学物理---狭义相对论部分
  7. 基于javaweb的图书进销存管理系统(java+ssm+jsp+bootstrap+mysql)
  8. 基于畸变图像本身的径向畸变矫正(无需镜头标定)
  9. 基于网络的虚拟仪器测试系统
  10. STM32 F4 OV2640摄像头学习笔记(二)