概述
Stetho是Facebook开源的一个Android调试工具,git地址:facebook/stetho
通过Stetho,开发者可以使用chrome的inspect功能,对Android应用进行调试和查看。
功能概述
Stetho提供的功能主要有:
Network Inspection:网络抓包,如果你使用的是当前流行的OkHttp或者Android自带的 HttpURLConnection等,你可以轻松地在chrome inspect窗口的network一栏抓到所有的网络请求和回包。
Database Inspection:数据库查看,可以直接看到当前应用的sqlite数据库。
View Hierarchy:布局层级查看,免去使用查看布局边界的花花绿绿带来的痛苦和卡顿,并且能看到每个view和layout的各类属性。
Dump App:命令行拓展,构造了一个命令行与Android App的交互通道,在命令行输入一行命令,App可以收到并且在命令行上进行反馈输出。
Javascript Console:Javascript控制台,在inspect的console窗口,输入Javascript可以直接进行Java调用。使用这个功能,得先引入facebook/stethostetho-js-rhino和mozilla/rhino。
到这里大概了解了它的用处,感兴趣的同学可以去看看源码,本文这里只介绍其用法。
1、项目集成
1、集成项目依赖
implementation 'com.facebook.stetho:stetho:1.5.0'
implementation 'com.facebook.stetho:stetho-okhttp3:1.5.0'
gradle3.0之前版本添加依赖方式,这里就不做多介绍了,可自行搜。。。
compile 'com.facebook.stetho:stetho:1.5.0'
compile 'com.facebook.stetho:stetho-okhttp3:1.5.0'
2、初始化
private fun initStetho() {
Stetho.initializeWithDefaults(this);
}
3、配置拦截器
Java:
builder.addNetworkInterceptor(new StethoInterceptor())
Kotlin:
builder.addNetworkInterceptor(StethoInterceptor())
2、查看相关数据
打开Chrome浏览器,输入
chrome://inspect/#devices
看到如下界面(需要翻墙):
然后可以看到如下界面:
请求网络我们可以看到如下:
是不是很方便,我们可以看到Status等栏目都会变化,展示httpcode,请求耗时、回包数据类型等信息。
官方对dump app的api说明实在太少,有需要大家可以去研究研究,即首先需要在App内,通过enableDumpapp方法注册自己的插件:
.enableDumpapp(new DumperPluginsProvider() {
@Override
public Iterable<DumperPlugin> get() {
return new Stetho.DefaultDumperPluginsBuilder(context)
.provide(new MyDumperPlugin())
.finish();
}
})
.enableWebKitInspector(Stetho.defaultInspectorModulesProvider(context))
.build())
对于Console,大家也可以试试,复制下面代码:
importPackage(android.widget);
importPackage(android.os);
var handler = new Handler(Looper.getMainLooper());
handler.post(function() { Toast.makeText(context, "Hello from JavaScript", Toast.LENGTH_LONG).show() });
总结
总的来说这块开发工具还是不错的,虽然可以日志输出,但是查看比较麻烦。有时间可以去看看源码,学习学习,这里就不叙述了。
大家在使用的时候切记仅debug模式开放哈~
大家在使用的时候切记仅debug模式开放哈~
大家在使用的时候切记仅debug模式开放哈~
最后,大家动动小手关注一波吧~
扫描上面二维码,关注~
陈不二
博客地址: http://www.chenbu2.com
简书地址: https://www.jianshu.com/u/f4874eb81c5b
GitHub地址: https://github.com/ChenBu2
爱学啊合作讲师: http://www.ixuea.com/
公众号: 陈不2
技术交流QQ群: 858499698
****欢迎一块交流学习~****
喜欢的朋友记得点赞转发分享哦!