官网链接:http://facebook.github.io/stetho/
Stetho是Facebook出品的一个可以在Chrome上调试Android的工具,使用起来非常方便,一定程度上减少了我们通过使用adb命令的麻烦。
特性
Chrome调试
在Chrome地址栏中输入chrome://inspect
,即可看到可调试的对象:
网络监控
可预览图片,json数据,trace等
数据监控
可查看或修改数据库以及SharedPrerenced数据
View Hierarchy
方便查看页面层级,类似HierarchyViewer的功能但更加方便使用。
Dumpapp
可输出app的数据状态
JavaScript控制台
可支持JavaScript的使用
集成
1 | // Gradle dependency on Stetho |
1 | <dependency> |
如果使用网络监测,可能还需要添加以下依赖:
1 | dependencies { |
或者
1 | dependencies { |
或者
1 | dependencies { |
添加依赖之后,只需要在Application中添加以下代码就可以了。
1 | public class MyApplication extends Application { |
允许网络监测
如果使用了OkHttp网络框架,版本在2.2+或3.x,则可以使用下面语句添加网络监测
1 | OkHttpClient client = new OkHttpClient(); |
或者
1 | new OkHttpClient.Builder() |
要使得okhttp2.x也可以运行,我们还需要用到stetho-okhttp
(不是stetho-okhttp3
)。
如果使用的是HttpURLConnection
,我们可以使用StethoURLConnectionManager
实现这个功能。需要在请求头声明Accept-Encoding: gzip并且手动解决压缩响应确保Stetho能打印压缩负荷大小。
使用dumpapp插件
1 | Stetho.initialize(Stetho.newInitializerBuilder(context) |