一、前言
在开始分析ARouter的源码之前,我假定你已经知道ARouter 的用途,并且会熟练使用。下面我在官方demo的基础上,来分析每项功能的流程。
demo 中的 三个 Module
- app demo项目的 主module
- module-java demo项目的 子module
- module-kotlin demo项目的 子module
下面三个Module 提供了核心功能
- arouter-annotation 使用到的注解相关信息,例如:@Route, @Interceptor,RouteMeta 等
- arouter-api 主要的代码逻辑
- arouter-complier 处理注解,生成相应的类。(你可能需要在编译期调试注解处理器)
下面两个module 是方便ARouter的使用以及开发