Android自定义OKHttp,OKio的包名

 在某些特殊的情况下,需要对项目中使用的 okhttp 的包名进行修改,避免冲突或者版本不一致导致找不到类的问题。

如果移动端访问不佳,请使用 ==> Github Pages 版。

环境:

macOS 10.12.6IDEA CE 2016.3.5OkHttp 3.8.1 源码OkIo 1.13.0 源码

前置知识点

在 pom 文件中引用本地 jar 包

在对应的 module 下新建目录 lib,并拷贝 xxx. jar 包到 lib 目录后:

引用的方法如下:

<dependency> <groupId>com.xxx.xxx</groupId> <artifactId>xxxx</artifactId> <version>x.x.x</version> <type>jar</type> <scope>system</scope> <systemPath>${basedir}/lib/xxx.jar</systemPath> </dependency>

操作流程

修改流程:

确定使用的 OkHttp 版本 ,在 release 里下载对应的源码;确定上述 OkHttp 版本对应的 OkIo 的版本,在 release 里下载对应的源码;在 IDEA 里打开 okio 工程 
修改 okio module 包名(abc.okio)build 检查有无错误,并排除错误在 maven 任务里点击 package,生成 okio-x.x.x.jar在 IDEA 里打开 okhttp 工程, 
在 maven 任务里点击 okhttp module 的 compile 编译(必要步骤,不先执行此步骤会找不到某个类)修改 okhttp module 的 包名修改 okhttp module 的 java-templates 的包名,其下的Version.java 的 package 可能需要手动改build 检查有无错误,并排除错误修改 okhttp module 的 pom 文件,并把 okio-x.x.x.jar 放入项目里,进行本地引用(参见前置知识)使用批量搜索替换,把 import okio 换成 import abc.okio 即可进行 build 检查是否有包引用错误最后点 maven 任务里的 package 打包成 okhttp-x.x.x.jar在项目中使用: 
把 okio-x.x.x.jar 和 okhttp-x.x.x.jar 放入需要使用的项目中使用即可。引用库的类时,使用的包名是修改后包名

注意:

源码里有多个 module,注意分辨目标 moduleOkHttp 版本有专门对应的 OkIo 版本,可通过官方 更新日志 查询使用 IDEA 的 build 原因是:可以直接点击错误日志跳转到有错误的代码行

猜你喜欢

转载自blog.csdn.net/qq_41145352/article/details/80571868