ARouter::There is no route match the path 问题的终极解决方案
出现这个问题,我按照按照官方给的排查问题的方案未能解决,因为自己的配置没问题,解决方案如下。
1:先说说一般出现这个问题可能由以下原因(官方给出的):
- 检查目标页面的注解是否配置正确,正确的注解形式应该是 (@Route(path="/test/test"), 如没有特殊需求,请勿指定group字段,废弃功能),不同的模块间一级路径名称要个不相同,如login模块/login/LoginActivity,而user模块/user/UserInfoActivity
- 检查目标页面所在的模块的gradle脚本中是否依赖了 arouter-compiler sdk (需要注意的是,要使用apt依赖,而不是compile关键字依赖) ,即无论哪个模块需要路由跳转,双方的modle都要引入
annotationProcessor 'com.alibaba:arouter-compiler:x.x.x'
- 检查编译打包日志,是否出现了形如 ARouter::�Compiler >>> xxxxx 的日志,日志中会打印出发现的路由目标
- 启动App的时候,开启debug、log(openDebug/openLog), 查看映射表是否已经被扫描出来,形如 D/ARouter::: LogisticsCenter has already been loaded, GroupIndex[4],GroupIndex > 0
2:我的情况就经过反复的检查,各项配置都没问题
很简单的办法**,卸载重装就解决了**,具体原理也不太清除,哎这么简单的问题,被卡主了1个多小时,特此记录一下。