关于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工程会报的错误:

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

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

再次编译,即可通过。

如果还有错,那就是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(三)-请求流程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,089评论 25 709
  • 这周休假,白天有大把时间可以“浪费”在写字上。 一直在犹豫要不要继续保持这个爱好,断断续续写了五年了,没有老师,只...
    佐撰阅读 444评论 3 4
  • 今天终于体会到什么叫“八点开会九点到”“十点不误作报告”原来他的源头在学校还是小学校通知八点开家长会结果都快九点老...
    刘汉皇阅读 386评论 11 4
  • 所有人都没有想到,马云的无人超市会来的这么快! 也没有能想到无人超市会这么受欢迎... 这将是一场波及全中国零售行...
    邦楚仕男鞋阅读 350评论 0 0
  • 闭眼轻听,嘴角露弯,浅笑下的你是否忆起那夏的梦,湿热的午后带着灼夏的艳阳避入云天,欢唱的蝉鸣退出泛光的舞台,留下欢...
    喜悦悦阅读 313评论 0 0