那些有意思的Android开发工具系列三(stetho)
2017-02-25 本文已影响1765人
Zach_C
stetho
Stetho is a debug bridge for Android applications, enabling the powerful Chrome Developer Tools and much more.
- stetho是Facebook开发的Android调试工具。它可以通过chrome的开发者工具来辅助安卓开发。
- 可以查看应用的网络情况,监测应用中SQLite、SharedPreferences数据,查看Activity的布局结构,修改布局中的文字等,可以实时生效,也可以借助JS执行一些命令,查看当前应用中的数据。
- 有了stetho我们就可以省去Fiddle(一款Windows常用的抓包工具)、Charles(Mac上常用的抓包工具)设置端口什么的麻烦了,更不用root就可以查看sqlite数据了。接下来分享一下简单的使用
简单使用
- 添加库,方式有几种,具体可以查看github,这里我来最简单粗暴的
<code>compile 'com.facebook.stetho:stetho:1.4.2'</code> - 然后我们在我们的Application中初始化就行
public class MyApplication extends Application {
public void onCreate() {
super.onCreate();
Stetho.initializeWithDefaults(this);
}
}
- 现在我们就可以在Chrome中使用stetho调试我们的应用了,在Chrome的地址栏中输入 chrome://inspect 就可以看到app
devices.png
** 什么?没有找到自己的app?有没有在AndroidManifest文件中的application的name属性指定为自己的Application呢?**
-
查看app具体信息
open.png -
本地数据库
本地数据库.png -
执行sql语句
本地数据库,并且可以执行sql语句.png -
SharedPreferences文件
查看sp文件并编辑.png -
检测网络
网络.png
什么?你的app检测不到网络状态?
我们只是简单的设置了一下,所以是看不到网络状态的,提供了两种方式:
- Okhttp
compile 'com.facebook.stetho:stetho-okhttp3:1.4.2'
当然很多时候我们都是引用okhttp官方的库,所以我们就需要下面代码来拦截了,这是目前最简单粗暴的
new OkHttpClient.Builder()
.addNetworkInterceptor(new StethoInterceptor())
.build()
- HttpURLConnection
compile 'com.facebook.stetho:stetho-urlconnection:1.4.2'
** 具体代码可以查看Facebook的demo- stetho-sample **
什么?要启用JavaScript控制台?
For more details on how to customize the JavaScript runtime see stetho-js-rhino.
compile 'com.facebook.stetho:stetho-js-rhino:1.4.2'
JavaScript控制台具体请查看github