关于Okhttp(二)-如何下载查看源码

相信看过上篇对其有了基本的认识,同时也知道如何使用,是不是对它的源码实现也产生了浓厚的兴趣呢(不喜欢源码的程序员不是好码农哦),不是有位大神说过学习编码的最好途径就是:Read the fucking source code。工欲善其事,必先利其器。今天我们先把源码弄下来吧!

不知道你是否尝试过下载源码,反正楼主试过,一开始真心不知道怎么弄它的源码,后来慢慢折腾才摸出了门路。下面就告诉给大家,免得走太多弯路。

做安卓的可能都认为Okhttp3是一个安卓工程(楼主一开始就这样认为)其实不是的,它是个地地道道的Java工程,你不能直接把它导入到Android Studio中(除非你自己建个工程,拷贝源码到到工程里,楼主就这么干过,太傻了)。

IDE

查看此源码的最好工具是IntelliJ IDEA,Eclipse,MyEclipse也可以但是个人认为不是很方便,推荐使用IntelliJ IDEA省事、省心、强大。

下载、安装IntelliJ IDEA请自行研究,没有什么难的。

下载源码

源码是在Github上,所以需要先安装git(或者下载压缩包)。

Github源码地址:https://github.com/square/okhttp

压缩包地址:https://github.com/square/okhttp/releases

Git客户端工具建议使用sourceTreehttps://www.sourcetreeapp.com/

如何下载此处不在赘述。

导入源码

打开IDEA(第一次需要选在是否导入已存在的配置,按需选择),点击Import Project—进入源码现在目录—点击pom.xml文件,一直next下去—finish(如需修改工程名字,在finish界面修改即可)

等待IDEA导入所需的依赖包

此过程有点长

导入成功后是这样的:

关于Okhttp(二)-如何下载查看源码_第1张图片

此时如果去编译okhttp工程会报的错误:

关于Okhttp(二)-如何下载查看源码_第2张图片

这是因为okhttp的版本号是自动生成的,Version.java不在src文件夹下,我们要自动添加。

step:选中okhttp工程,右键-open module settings

关于Okhttp(二)-如何下载查看源码_第3张图片

再次编译,即可通过。

如果还有错,那就是AndroidPlatform.java有问题,主要是Android sdk没有引入,此处使用的是4.1.1.4的sdk,在pom.xml中可以查看。如果实在无能导入(原因你懂的)把AndroidPlatform.java中的

public void log(int level, String message, Throwable t) {
    // 里面的语句注释掉,此处使用了Log,没有任何影响,再次编译即可
}

项目结构

主工程
  1. mockwebserver — 模拟服务器,有用
  2. okhttp — 源码
  3. okhttp-logging-interceptor — 日志拦截器,可以自己实现的
  4. okhttp-urlconnection — 连接方式,用不上

我们主要研究的是okhttp源码,负责项目mockwebserver,其他目前没用。

到此,已经完成了,源码的下载任务,当然此项目还有很多值得研究的地方,读者可自行研究。

总结

源码下载不是什么难事,主要是没弄过会有很多弯路,在此讲一讲,给大家引导一下,觉得还是有必要的,接下来就正式进入,源码研究了,敬请期待!

系列文章

1、关于Okhttp(一)-基本使用

2、关于Okhttp(二)-如何下载查看源码

3、关于Okhttp3(三)-请求流程

你可能感兴趣的:(关于Okhttp(二)-如何下载查看源码)