TheRouter 常见问题处理
如无法解决你的问题,建议登记应用,获取优先技术支持 https://github.com/HuolalaTech/hll-wp-therouter-android/issues/57 问题列表不定期更新中… Q1: 路由表不生成(或生成的代码有问题编译报错) (注:1.2.0-rc5版本已修复:KSP与ViewBinding共用不生成路由表的问题) 请按照以下步骤排查: plugin 加了吗?plugin 必须...


TheRouter 使用 KSP 处理注解
TheRouter 在1.1.4-rc2开始,已经将KSP能力合并至主分支,不再是单独的功能分支了,下面介绍一下如何使用 KSP。 什么是KSP KSP全称:Kotlin Symbol Processing。 借助官网的描述:KSP 提供了一种基于 Kotlin 的轻量级的编译期插件 API,其编译速度最快可以达到 kapt 速度的两倍。 从原理角度讲,Android项目构建过程中,可用的注解处理器总共有三种:APT、KAP...


动态路由 TheRouter 的设计与实践
详细讲解 TheRouter 框架内部实现原理,以及在完整企业级项目中使用的实践效果。这篇文章是我在 2022【GIAC 全球互联网架构大会】分享时所讲内容的文字版本,修改删减了演讲时的冗余言语,现开放给大家阅读,希望能给买不到票参加分享的 开源实验室 读者带来帮助。


从零接入 TheRouter
TheRouter是货拉拉开源的路由框架,针对 Android 平台实现组件化、跨模块调用、动态化等功能的集成框架,基本上算当前最先进的路由库了。 Github: https://github.com/HuolalaTech/hll-wp-therouter-android/ 官网:http://therouter.cn/ 开始之前 如果你的项目之前使用过其他路由,建议使用迁移工具一键迁移: https://therout...


Android Studio 插件,开发必备工具
开发了一个用于自动跳转的辅助插件,可以直接从 路由 的声明处查看到哪些地方使用了本次跳转。 下载插件 打开 Android Studio -> Preferences -> Plugins -> Marketplace 搜索 TheRouter 点击下载 重启 Android Studio 一键迁移工具 AndroidStudio 插件的全新版本,已完美支持一键迁移工具,无...


获取和使用最新版的 TheRouter
TheRouter 的版本规划分为三种,分别是 稳定版、预览版(含 beta 版)、公测版。 稳定版 稳定版总是在main分支打包发布,最新的稳定版本就是main分支的最新代码。 你可以在 GitHub 的 releases 页面找到最新的稳定版本。 https://github.com/HuolalaTech/hll-wp-therouter-android/releases 稳定版的版本号格式为x.y.z,最新的稳定版...


TheRouter 一键迁移工具
TheRouter提供了图形化界面的迁移工具,可以一键从其他路由迁移到TheRouter。 全新迁移工具已集成到 AndroidStudio 开发插件中,可直接在AS插件市场下载,相关介绍请访问: https://therouter.cn/docs/2022/09/29/01 旧版本图形界面可使用:1.1.1 (2022-10-09更新) Mac OS 迁移工具下载:https://github.com/Huolala...


Android 动态路由框架:TheRouter 开源
TheRouter 是一个 Kotlin 编写,用于 Android 模块化开发的一整套解决方案框架。 Github 项目地址与使用文档详见 https://github.com/HuolalaTech/hll-wp-therouter-android。 TheRouter 核心功能具备如下能力: 页面导航跳转能力(Navigator) 跨模块依赖注入能力(ServiceProvider) 单模块自动初始化能力(...


路由的高阶使用
文档已迁移,请访问: https://therouter.cn/docs/2023/07/21/01


TheRouter 基础能力介绍
功能介绍 TheRouter 核心功能具备四大能力: 页面导航跳转能力(Navigator) 页面跳转能力介绍 跨模块依赖注入能力(ServiceProvider)跨模块依赖注入 单模块自动初始化能力 (FlowTaskExecutor)单模块自动初始化能力介绍 动态化能力 (ActionManager) 动态化能力支持 一、快速上手 1.1 Gradle 引入 最新版本号,请访问:(github...


页面跳转能力介绍
路由可用于处理页面跳转 支持 Activity 和 Fragment 支持path与页面多对一关系或一对一关系 页面Path支持正则表达式声明 支持 json 格式路由表导出 支持动态下发 json 路由表 支持任意object跨模块传递(无需序列化,且能保证对象类型) 支持页面跳转拦截处理 支持自定义页面参数解析方式(例如将json解析为对象) 支持使用路由跳转到第三方SDK中的Activ...


跨模块依赖注入
模块化能力支持项: 支持跨模块依赖注入 支持自定义注入项的创建规则,依赖注入可自定义参数 支持自定义服务拦截,单模块mock调试 支持注入对象缓存,多次注入 只会new一次对象 1. 依赖注入 用于跨模块通信使用,核心设计思想是参考了SOA(面向服务架构) 的设计方式。 具体到 Android 侧就是 AIDL 类似的实现: 例如当前有两个模块:A订单模块、B登录模块,下单需要获取用户信息。 这个业务场景...


业务节点订阅(自动初始化)能力介绍
模块化开发时,可能每个模块都有自己需要初始化的一些代码。以前的做法是把这些代码都在`Application`里声明,但是这样可能随着业务变动每次都需要修改`Application`所在模块。`TheRouter`的单模块自动初始化能力就是为了解决这样的情况,可以只在当前模块声明初始化方法后,将会在业务场景时自动被调用。


动态化能力支持:ActionManager
Action 本质是一个全局的系统回调,主要用于预埋的一系列操作,例如:弹窗、上传日志、清理缓存。 与 Android 系统自带的广播通知类似,你可以在任何地方声明动作与处理方式。并且所有 Action 都是可以被跟踪的,只要你愿意,可以在日志中将所有的动作调用栈输出,以方便调试使用。