OkHttp+Stetho+Chrome调试android网络部分(原创)

android网络调试一直是一个比较麻烦的部分,因为在不同序列的请求中,返回的数据会有不同的变化,如果能像web开发一样使用调试功能查看页面的访问数据该是多么美好的事情!

很幸运的是,现在Android开发也可以实时监听网络访问了,能够看到你的发送数据信息,也能够看到返回数据信息。

如图:

点击每个请求会看到详细页面,可以查看请求的详情,如图:

如果要达到上面的效果,你需要改造你的网络请求模块,使用Chrome浏览器和android程序之间的中间件来连接,这就是本篇要介绍的主题:

OkHttp+Stetho+Chrome进行网络调试。

okhttp是Square的一款非常优秀的网络访问框架,它的使用非常简单,可以通过github去获取其源代码:

https://github.com/square/okhttp

Stetho则是facebook开发的一款连接android程序和Chrome开发者工具的一个桥梁:

https://github.com/facebook/stetho

使用方式:

1.工程依赖包如下:

commons-cli-1.2.jar

okhttp-2.3.0.jar

okio-1.3.0.jar

stetho-1.0.1.jar

stetho-okhttp-1.0.1.jar

2.需要继承Application类来初始化Stetho工具。

package com.peiandsky.chromedebug;

import android.app.Application;

import com.facebook.stetho.Stetho;

public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Stetho.initialize(Stetho
                .newInitializerBuilder(this)
                .enableDumpapp(Stetho.defaultDumperPluginsProvider(this))
                .enableWebKitInspector(
                        Stetho.defaultInspectorModulesProvider(this)).build());
    }
}

在AndroidManifest.xml需要配置为程序的app:

3.使用okhttp访问的代码如下:

package com.peiandsky.chromedebug;

import java.io.IOException;

import com.facebook.stetho.okhttp.StethoInterceptor;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;

public class Net {
    private static final boolean debug = true;
    private static OkHttpClient okHttpClient = new OkHttpClient();
    static {
        if (debug) {
            okHttpClient.networkInterceptors().add(new StethoInterceptor());
        }
    }

    public static final void askBaidu() {
        Request request = new Request.Builder().url("http://www.baidu.com")
                .build();
        try {
            Response response = okHttpClient.newCall(request).execute();
            String reslut = response.body().string();

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

运行程序后就会发现,在chrome中的网址栏输入:chrome://inspect/

可以查看如图:

点击蓝色的inspect的连接,既可以看到本文开头的调试画面。

时间: 2024-11-05 04:49:01

OkHttp+Stetho+Chrome调试android网络部分(原创)的相关文章

OkHttp+Stetho+Chrome调试android网络部分

如果要达到上面的效果,你需要改造你的网络请求模块,使用Chrome浏览器和android程序之间的中间件来连接,这就是本篇要介绍的主题:OkHttp+Stetho+Chrome进行网络调试. okhttp是Square的一款非常优秀的网络访问框架,它的使用非常简单,可以通过github去获取其源代码:https://github.com/square/okhttp Stetho则是facebook开发的一款连接android程序和Chrome开发者工具的一个桥梁:https://github.c

使用chrome调试android前端页面

移动端开发时,我们常使用chrome自带的模拟器,模拟各种手机设备. 但模拟毕竟是模拟,当开发完毕,使用真机访问页面出现问题时如何调试呢? 下面介绍一种针对android机的调试方法 1. 在pc和android手机上都安装最新版本的chrome 2. 使用usb将手机的PC相连接 3. 手机中打开"设置"->"开发人员选项"->"USB调试"     4. 打开pc侧chrome, 在地址栏中输入chrome://inspect/#

利用 Chrome 开发者工具远程调试 Android 中的原生 WebView

之前写过一篇关于 Android Studio 断点调试技巧 的文章,但都是针对 Native 代码的调试,对于 Hybrid 开发模式下的 WebView 却无从下手.幸运的是,PC 中的 Chrome 浏览器提供的开发者工具能够帮助我们远程调试 Android 中的 WebView 加载的网页. Android 4.4 (KitKat) 开始,使用 Chrome 开发者工具可以帮助我们在原生 Android 应用中远程调试 WebView 网页内容.一起来看看怎么操作吧. 第一步,设置 We

在 Chrome 中调试 Android 浏览器

最近需要使用 Chrome Developer Tools 调试 Android 浏览器,但是官方指南并不是很好使,经过一番折腾,终于调试成功了,在此把经验分享给需要的朋友. Chrome Developer Tools 是前端工程师必不可少的工具,它极大的提高了我们的开发调试效率.在移动开发的时代,我们也必须掌握手机浏览器在 Chrome 中调试的方法.本篇仅介绍 Android. 环境 不同的环境可能存在一些差异,我的环境是: Windows 10 电脑 Chrome 50.0.2661.7

chrome inspect 远程调测:Chrome on Android之一 普通调试

本文PC环境: Chrome: 版本 33.0.1750.22 dev MAC OS:OS X 10.9.1 特别注意:Chrome DevToolsl使用时会联接到appspot.com,而此网址被墙,以下教程需要先在本机使用翻--墙代理,否则在chrome://inspect中无法点击网页的inspect链接打开Deleloper Tools. Mac上使用goagent教程:http://maolihui.com/goagent-mac-detail.html 其他操作系统如何使用goag

调试android chrome web page简明备忘

必备工具 adb tools.android chrome 先开启手机调试模式 adb forward tcp:9919 localabstract:chromedevtoolsremote 成功会提示 * daemon not running. starting it now on port 5037 * * daemon started successfully * 不成功的话用这个命令再试 adb kill-server 接着打开下面的链接,这里的9919是上面adb命令中指定的 http

如何通过Chrome远程调试android设备上的Web网站

网上的帖子很多,但很多都是老版本的,试过了,根本不管用,花了一天时间,终于在本机试验通过了,特记录下来,以备用.有需要的朋友也可以参考.先上一张图,看看PC端chrome上调试的效果: 左边是手机的模拟操作器,右边是大家熟悉的开发人员工具,也可以在手机上操作,PC端左边屏幕会同步到手机上的界面. 下面再说一下环境配置: 1.手机端,我手机是华为荣耀4,android4.4.4,很旧的手机了,大家别笑话,但不影响本次试验.安装chrome版本为58.0.3029.83: 2.PC端,win7 64

使用 桌面的 chrome 远程调试 Android 的页面

手机浏览器是没有开发者工具的,所以调试手机网页是非常麻烦.使用 chrome 的远程调试功能可以像调试桌面端那样调试手机页面. 准备 手机端:chrome for Android, 安装谷歌浏览器 桌面端:谷歌浏览器,版本建议大于手机端的,最好使用 chrome canary USB 连接线, 也就是你充电器的那条线 开启调试模式 使用 USB 连接你的电脑,并开启调试模式. 使用 android 4.2 或以上的手机可能没有调试模式选项,可以找到 “设置 > 关于手机 > 版本号(Build

IDA 调试 Android 方法及简单的脱壳实现

IDA 调试 Android 方法及简单的脱壳实现 标签: android原创逆向调试dalvik 2016-05-24 14:24 9286人阅读 评论(3) 收藏 举报 分类: 原创(25) Android(5) 学习(9) 逆向(4) 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 本文参考了一些网络文章,对大大们的技术分享表示感谢.小弟刚刚开始深入去搞Android的逆向不久,写一下学习笔记,希望能抛砖引玉,给新手同学们带来方便.文笔比较烂,这不重要,重要的是按自