我记得刚开始入门做程序员那会儿,很喜欢自己琢磨,所以项目中遇到了需要实现的功能,总是会先尝试着自己编码来实现 (矮油,小五童鞋很牛逼啊,刚入门就是高起点呐,简直屌得不要不要的嘛!) , 哈哈,说来惭愧,其实之所以这样做 ,恰恰是因为自己当时太嫩,还不太会利用[GitHub][]找轮子, 也因为如此,自己经历了一段黑暗不堪回首滴重复造车轮子滴苦逼岁月, 哭泣ing T_T , 虽然话是这么说,但现在回想起来,当时自己也算是苦中作乐确有收获了。
不好意思,好像说了一堆废话,哈哈,见谅见谅,我们现在就回归正题。
之前在做公司的一个仓库项目管理的APP的时候,需要使用数据库在手机端保存数据,所以我就在项目中使用了大名鼎鼎的[greenDAO3][]依赖来完成这一块的功能逻辑开发,然后问题出现了,[greenDAO3][]本身的异步操作功能实现是通过引用旧版本的[Rxjava][]来完成的,和当时这个项目中已经在使用的新版本[Rxjava2][]就一下子不和谐了,虽然他们可以同时存在,不影响项目的构建,但无疑俩个功能高度雷同的俩代库会让项目变得臃肿,为此,我想着fork一下[greenDAO][]的源码,然后将里面的[Rxjava][]依赖更新到[Rxjava2][], 但在其项目的[issue][1]中发现,已经有一个叫[AndroidClasses][]人这样做过了,于是自己就使用[JitPack][]将这位童鞋的代码生成了一个maven依赖直接引入解决了这个问题。
![使用JitPack 生成的依赖代码][img01]
PS: 此处建议比较好的做法是先将AndroidClasses的项目代码fork到自己的GitHub然后使用JitPack来生成对应的maven依赖,这样可以保证项目依赖的安全性,防止这位童鞋哪天失恋心情不好,直接删库带来一些不必要的麻烦