DRouter是18年滴滴乘客端自研的一套Android路由框架,基于平台化解耦的思想,为组件间通信服务。该项目以功能全面、易用为原则,支持各种路由场景,在页面路由、服务获取和过滤、跨进程及应用、VirtualApk插件支持等方面都能提供多样化的服务。目前已在滴滴乘客端、顺风车、单车、国际化、滴滴定制车等十多个滴滴的app内使用,得到各种场景的验证。
模块 | 功能 |
---|---|
Router | Native和H5导航Activity、Fragment、View、RouterHandler,支持切入拦截器 |
Service | 基于spi通过接口的形式查找到实现类,支持过滤和优先级配置 |
Page | 支持单Page、栈Page、ViewPager三种形式的Fragment加载 |
Process | 跨进程访问Router、Service,共享内存 |
接入方式及文档请移步 Wiki
/** 插件 **/
classpath "io.github.didi:drouter-plugin:1.3.5" // agp 1.x - 7.x
classpath "io.github.didi:drouter-plugin:1.4.0" // agp 8.x以上
/** 依赖库 **/
api "io.github.didi:drouter-api:2.4.6" // Router、Service
api "io.github.didi:drouter-api-page:1.0.0" // Page
api "io.github.didi:drouter-api-process:1.0.0" // Process
或微信搜索作者 gwball (备注DRouter)入群
DRouter 基于 Apache-2.0 协议进行分发和使用,更多信息参见 协议文件