stetho调试android程序,使用stetho和chrome调试Andorid应用
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应用相关推荐
- 网易MuMu模拟器调试Android程序
在调试模拟器时,发现网易 MuMu 模拟器无法直接调试 Android 程序.下面分享一下调试的方法: 1. 打开网易 MuMu 模拟器 很重要,如果不打开,下面操作完了,也是徒劳的. 2. 打开安装 ...
- 使用Eclipse调试Android程序时无法安装控制台报错INSTALL_FAILED_UPDATE_INCOMPATIBLE
1 致谢 感谢xusaomaiss网友的博文 链接如下:http://xusaomaiss.iteye.com/blog/393296 2 问题描述 今天用Eclipse调试Android程序 出现了 ...
- Android studio通过荣耀20调试Android程序
Android studio通过荣耀20调试Android程序 通过Android studio通过荣耀20调试Android程序,要考虑三方面的因素: ·····手机····· ·····windo ...
- ubuntu下链接手机调试android程序,ADB无法识别手机
ubuntu下链接手机调试android程序,ADB无法识别手机 摘要: 最近刚开始接触android开发,用的ubuntu系统,结果无奈,用模拟机开发总是会各种无法真实模拟,而且有些程序也无法测试, ...
- Ubuntu(Linux)下手机调试Android程序(小米手机连接上Android ADB)
我觉得对于一个Android程序员来说,不能用手机调试程序是多么痛苦的一件事情呀!!!至少我是这样哈 刚用Ubuntu的我,马上就碰到了这个问题哈,我的小米2S不能够被android tools ad ...
- qt单步调试linux程序,用Qt 调用GDB调试 Arm程序 详细步骤----可单步执行每一行
前言 本人交叉编译环境 Ubuntu 10.04(虚拟机),编译工具链 arm-hisiv100nptl-linux,Qt 4.8.5 ,QtCreator1.3.1 1.在虚拟机Ubuntu 10. ...
- gdb vscode调试linux程序,vscode如何使用gdb调试
vscode如何使用gdb调试,路径,程序,设备,文件名,可执行 vscode如何使用gdb调试 易采站长站,站长之家为您整理了vscode如何使用gdb调试的相关内容. 1.vscode启动debu ...
- as真机调试_如何使用真机调试android程序
展开全部 第一步:将我们开发所用的Android真机的USB调试功能打开(打开方法为Settings(设置32313133353236313431303231363533e59b9ee7ad94313 ...
- Android逆向笔记-IDA Pro动态调试Android程序(真机)
这里的安卓版本是: Android 5.1.1(Lollipop, API 22) LGE Google Nexus 5 arm 使用的IDA为:IDA Pro 6.8 将android_server ...
最新文章
- ORM框架之------Dapper,Net下无敌的ORM
- dedecms 栏目列表页链接如何优化
- optee中TA的堆的分配
- 酱油和gbt酱油哪个好_都说日本的酿造酱油品质好,我国的酱油究竟差在哪儿?...
- Android构建流程——篇八
- 【CF700E】Cool Slogans【后缀自动机】【可持久化线段树合并】【树上倍增】
- AI行业真实现状:做芯片没工作,做视觉、语音血赚
- Android Studio项目目录结构介绍
- # 语音信号处理基础(十)——梅尔倒谱系数
- 玩游戏显示计算机内存不足怎么办,电脑魔兽世界内存不足怎么办
- CEIWEI CommMonitor 串口监控精灵v11.0 串口过滤 串口驱动
- secedit.exe本地安全策略命令
- 降了还是涨了?瓶装水市场再秀迷幻操作
- 为防止程序员猝死,这家公司想出了一个好办法
- 2020考研初期作息时间表
- 洛谷【入门4】数组 P2141 [NOIP2014 普及组] 珠心算测验
- Python计算某年某月某日天数
- 移动通信网络规划:误码率
- PDF文件太大无法上传,如何压缩变小?
- sourcemap(未完,待续)
热门文章
- centos7安装xrdp
- Python数据爬虫学习笔记(21)Scrapy爬取当当图书数据并存储至SQLite数据库
- C++ 左移运算符和右移运算符的使用
- linux iphone 存储空间清理,苹果系统好,后台运行可以不用清理,安卓手机不清理后台就会卡,咋回事?...
- uniapp分享到微信好友和朋友圈
- 大学物理---狭义相对论部分
- 基于javaweb的图书进销存管理系统(java+ssm+jsp+bootstrap+mysql)
- 基于畸变图像本身的径向畸变矫正(无需镜头标定)
- 基于网络的虚拟仪器测试系统
- STM32 F4 OV2640摄像头学习笔记(二)