facebook的Android调试工具Stetho简单使用数据库sp布局网络等

参考:
Android调试神器stetho使用详解和改造

Stetho,一个功能强大的 Android 应用调试桥

github地址:
https://github.com/facebook/stetho

介绍

stetho 读音:斯蒂索

stetho是Facebook推出的安卓APP网络诊断和数据监控的工具,接入方便,功能强大,是开发者必备的好工具。

主要功能包括:

查看App的布局
网络请求抓包
数据库、sp文件查看
自定义dumpapp插件
对于JavaScript的支持

无需root,只要能通过adb连接设备,操作方便。

依赖

//必须
compile 'com.facebook.stetho:stetho:1.5.0'
//可选
compile 'com.facebook.stetho:stetho-okhttp3:1.5.0'
compile 'com.facebook.stetho:stetho-urlconnection:1.5.0'
compile 'com.facebook.stetho:stetho-js-rhino:1.5.0'

初始化

public class MyApplication extends Application {
  public void onCreate() {
    super.onCreate();
    Stetho.initializeWithDefaults(this);
  }
}
<manifest
        xmlns:android="http://schemas.android.com/apk/res/android"
        ...>
        <application
                android:name="MyApplication"
                ...>
         </application>
</manifest>    

使用

adb方式连接到设备

打开集成stetho功能的app

在Chrome浏览器地址栏中输入chrome://inspect

选择需要inspect的应用进程

这里写图片描述

注意:点击图中的蓝色inspect即可进入调试界面,如果点击该链接后你打开的是一个空白页面,需要开启VPN。

在elements一栏可以查看布局:

这里写图片描述

开启网络请求查看
若果你使用了okhttp库,参考下面的代码:

For OkHttp 2.x

OkHttpClient client = new OkHttpClient();
client.networkInterceptors().add(new StethoInterceptor());

For OkHttp 3.x

new OkHttpClient.Builder()
    .addNetworkInterceptor(new StethoInterceptor())
    .build();

由于拦截器可以修改请求和响应,应该在其他拦截器之后添加 Stetho 拦截器以获取准确的网络交互视图。

如果你使用 HttpURLConnection,可以使用 StethoURLConnectionManager 来帮助集成,但该方法有一些注意事项,比如你必须明确地添加 Accept-Encoding:gzip 到请求头,并手动处理压缩的响应,以便 Stetho 报告压缩的有效负载大小。具体可以参考 stetho-sample 中的 Networker 的实现。

Stetho 目前没有提供 HttpClient 网络监控支持,具体原因可以查看 issues 116 (HttpClient 在 Android5.0 已经被废弃,不建议再使用)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值