facebook的Android调试工具Stetho介绍
来源:互联网 发布:小米电视有线连接网络 编辑:程序博客网 时间:2024/05/16 10:59
http://www.androidcn.org/topic/552fabaa8ca8a1e07687e999#0-tsina-1-39947-397232819ff9a47a7b7e80a40613cfe1
Stetho是Facebook出品的一个强大的Android调试工具,使用该工具你可以在Chrome Developer Tools查看App的布局,网络请求,sqlite,preference,一切都是可视化的操作,无须自己在去使用adb,也不需要root你的设备。使用的方式很简单,配置好之后,在Chrome地址栏输入chrome://inspect (哈哈,和webview 远程调试的方式一样)。废话少说,先来看看效果图。
怎么样,是不是看起来很碉堡,尤其是如果你做过web开发,肯定感觉超级熟悉哈。下面我们就来看看怎么使用这么碉堡的工具。
配置
添加gradle引用
<code style="padding: 0px; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; font-size: 12px; color: inherit; border: 0px; background-color: transparent;"><span class="pln" style="color: rgb(0, 0, 0);">compile </span><span class="str" style="color: rgb(0, 136, 0);">'com.facebook.stetho:stetho:1.1.0'</span></code>
只有stetho库是必须的,想查看网络请求的话,需要使用下面的两个库之一(看你的网络库用的是okhttp还是urlconnection)
<code style="padding: 0px; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; font-size: 12px; color: inherit; border: 0px; background-color: transparent;"><span class="pln" style="color: rgb(0, 0, 0);">compile </span><span class="str" style="color: rgb(0, 136, 0);">'com.facebook.stetho:stetho-okhttp:1.1.0'</span></code>
或者
<code style="padding: 0px; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; font-size: 12px; color: inherit; border: 0px; background-color: transparent;"><span class="pln" style="color: rgb(0, 0, 0);">compile </span><span class="str" style="color: rgb(0, 136, 0);">'com.facebook.stetho:stetho-urlconnection:1.1.0'</span></code>
修改代码
<code style="padding: 0px; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; font-size: 12px; color: inherit; border: 0px; background-color: transparent;"><span class="kwd" style="color: rgb(0, 0, 136);">public</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">class</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="typ" style="color: rgb(102, 0, 102);">MyApplication</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">extends</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="typ" style="color: rgb(102, 0, 102);">Application</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">public</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">void</span><span class="pln" style="color: rgb(0, 0, 0);"> onCreate</span><span class="pun" style="color: rgb(102, 102, 0);">()</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">{</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">super</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">onCreate</span><span class="pun" style="color: rgb(102, 102, 0);">();</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="typ" style="color: rgb(102, 0, 102);">Stetho</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">initialize</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="typ" style="color: rgb(102, 0, 102);">Stetho</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">newInitializerBuilder</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="kwd" style="color: rgb(0, 0, 136);">this</span><span class="pun" style="color: rgb(102, 102, 0);">)</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">enableDumpapp</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="typ" style="color: rgb(102, 0, 102);">Stetho</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">defaultDumperPluginsProvider</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="kwd" style="color: rgb(0, 0, 136);">this</span><span class="pun" style="color: rgb(102, 102, 0);">))</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">enableWebKitInspector</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="typ" style="color: rgb(102, 0, 102);">Stetho</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">defaultInspectorModulesProvider</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="kwd" style="color: rgb(0, 0, 136);">this</span><span class="pun" style="color: rgb(102, 102, 0);">))</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">build</span><span class="pun" style="color: rgb(102, 102, 0);">());</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">}</span><span class="pln" style="color: rgb(0, 0, 0);"></span><span class="pun" style="color: rgb(102, 102, 0);">}</span></code>
开启网络请求查看
若果你使用了okhttp库,参考下面的代码:
<code style="padding: 0px; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; font-size: 12px; color: inherit; border: 0px; background-color: transparent;"><span class="typ" style="color: rgb(102, 0, 102);">OkHttpClient</span><span class="pln" style="color: rgb(0, 0, 0);"> client </span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">new</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="typ" style="color: rgb(102, 0, 102);">OkHttpClient</span><span class="pun" style="color: rgb(102, 102, 0);">();</span><span class="pln" style="color: rgb(0, 0, 0);">client</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">networkInterceptors</span><span class="pun" style="color: rgb(102, 102, 0);">().</span><span class="pln" style="color: rgb(0, 0, 0);">add</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="kwd" style="color: rgb(0, 0, 136);">new</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="typ" style="color: rgb(102, 0, 102);">StethoInterceptor</span><span class="pun" style="color: rgb(102, 102, 0);">());</span></code>
如果你使用了HttpURLConnection,你需要使用StethoURLConnectionManager来帮忙。
更多细节请参考stetho源码中的stetho-sample。
0 0
- facebook的Android调试工具Stetho介绍
- facebook的Android调试工具Stetho介绍
- facebook的Android调试工具Stetho介绍
- facebook的Android调试工具Stetho介绍
- facebook的Android调试工具Stetho介绍
- android 调试工具之facebook stetho介绍
- facebook的Android调试工具Stetho介绍和使用注意事项
- Facebook的Android调试工具Stetho
- facebook stetho Android调试工具
- facebook的Android调试工具Stetho的简单使用
- android网络调试工具Stetho介绍
- 关于使用facebook的Android调试工具Stetho时遇到的问题
- Android调试工具Stetho
- Android 强大的调试工具 Stetho
- Android 调试模式工具的Stetho
- Android 调试神器-Stetho(Facebook出品)的使用
- Stetho(Facebook出品)---Android调试器的使用
- Android调试工具_ Stetho
- spring中配置mongo的最大连接数
- Oracle的取整和四舍五入函数——floor,round,ceil,trunc使用说明
- wechat 报警的实现方法
- 采用MQTT协议实现Android消息推送
- springMVC系列之(三) spring+springMVC集成(annotation方式)
- facebook的Android调试工具Stetho介绍
- 六角填数
- Mac安装AndroidStudio小结
- MySQL > 存储引擎
- android 各种xml资源的引用方式
- mysql主从复制及问题解决
- springMVC系列之(四) spring+springMVC+hibernate 三大框架整合
- Scheme 语言概要(下)
- SpringMVC中的ModelMap(将后台数据传到前台页面)