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. Xcode couldn‘t find any iOS App Development provisioning profiles matching ‘com.example.***‘
  2. RACER: Rapid and accurate correction of errors in reads 快速、准确地修正读数中的错误
  3. 解决linux服务器掉包问题
  4. 小程序对象不去重合并
  5. Python 列表和元组
  6. 解决HDFS NameNode启动时Loading edits时间超长的问题(NameNode数据同步机制介绍)
  7. GDCM:gdcm::FileChangeTransferSyntax的测试程序
  8. WebCore中的渲染机制(二):块和内嵌(Blocks and Inlines)
  9. PHP 实现随机字符串,可作为随机密码
  10. 线性筛法--有测试代码
  11. 数组索引必须为正整数或逻辑值_LeeCode457-环形数组循环
  12. lan口配置 petalinux_PetaLinux开发文档
  13. python滑动手机屏幕_appium+python自动化24-滑动方法封装(swipe)
  14. 各自然带代表植被_植被带气候
  15. CentOS6下搭建Extmail邮箱服务
  16. <JVM上篇:内存与垃圾回收篇>01-JVM与Java体系结构
  17. esp8266 nvs应用
  18. 测绘资质专业类别该如何区分并选择合适的专业
  19. G-Transformer for Document-level Machine Translation
  20. 鸿蒙系统vivo能用吗,不是华为手机,也能用上鸿蒙系统

热门文章

  1. 翡翠岛宝瓦伊竞争力的价格在东安泰
  2. 把竖屏视频转为横屏,这样操作
  3. 一文看懂Mbps、Mb/s、MB/s有什么区别?
  4. Blockly开发入门指北
  5. 在速变的区块链行业,如何高效地学习与思考? |链捕手
  6. 为什么我国电网交流电是50Hz?
  7. 黑马程序员----0704期java基础班心得
  8. 产品分享:Qt+Arm基于RV1126平台的内窥镜软硬整套解决方案(实时影像、冻结、拍照、录像、背光调整、硬件光源调整,其他产品也可使用该平台,如视频监控,物联网产品等等)
  9. 100个Linux Shell脚本经典案例解析
  10. 计算机教育研究生考什么,计算机在职研究生考什么科目