需求背景
- 最近做了个需求,是需要将EventBus集成到自己的项目中,由于我们是做SDK的,提供给用户的库不能有太多的第三方依赖库,否则别人接入你的SDK的时候容易发送冲突,我们将不使用gradle进行依赖,而转用EventBus源码的方式,为了提升EventBus的执行效率,还引入了apt,下面我们来说下具体的实践吧
了解EventBus
- 首先我们找到EventBus的官网,对其基本使用有个大概的了解:EventBus: Events for Android - Open Source by greenrobot
- 我们的首要目标是找到源码,然后根据需要去使用相关的代码:https://github.com/greenrobot/EventBus
- 关于EventBus源码的解析网上有很多,这个我就不多叙说了
EventBus源码集成
- 我们使用git clone https://github.com/greenrobot/EventBus.git将源码copy到本地,然后使用Android studio 打开,然后将需要用到的源码拷贝的我们定义好的项目包名下

- 在我们的项目里面建一个模块,比如就叫lcqlib,然后将EventBus上面两个modul里面的源码拷贝到 com.lcq.lcqlib.msgbus包路径下

- 然后我们需要将报的红色异常给解决掉,下面提供一个快速的查找替换方式

- 这样可以找到所有使用的地方进行全部替换
- 使用Replace All 就可以替换所有的代码了,我们再找到AndroidDependenciesDetector类

- 然后搜索“org.greenrobot.eventbus”将这个位置替换为“com.lcq.lcqlib.msgbus.org.greenrobot.eventbus”,要不后面执行时会抛异常

- 然后我们再assemble一下module,能正常编译过就可以了,为方便使用,我们有比较将这个库打包一下,由于只有源码没有资源文件,我们直接打包成jar包吧,这个jar在后面我们说apt的时候也会用到
- 要方便的生成jar并且定义名称,最好的方式就是写个task运行最好了

最低0.47元/天 解锁文章
598

被折叠的 条评论
为什么被折叠?



