出现arouter there is no route match the path这个错误,大部分是由这三个问题引起的,可能我们都不太注意,导致浪费一些时间在上面,我就是吃了这个亏,针对这个三个问题给出相应的解决方法,下面记录我的三方法(以module_greendao模块为例):

方法一:路由路径至少要两级(我的路由路径统一写在了AppRouteConstant里,方便管理):

//在AppRouteConstant里,ModuleGreenDao 是一个模块,模块里面的路由路径统一放在里面,且"/moduleGreenDao/"一致

public class ModuleGreenDao {

public static final String MODULE_GREENDAO_GREENDAO_ACTIVITY = "/moduleGreenDao/greenDaoActivity";//重点,这里是两层,两个/;

}

//在GreenDaoActivity的头上注解

@Route(path = AppRouteConstant.ModuleGreenDao.MODULE_GREENDAO_GREENDAO_ACTIVITY)

方法二:在module_greendao的gradle下添加:

android {

……………………………………

defaultConfig {

if (isNeed_GreendaoModule.toBoolean()) {//isNeed_GreendaoModule是在gradle.properties里,isNeed_GreendaoModule=false

applicationId "com.example.module_greendao"

}

javaCompileOptions {

annotationProcessorOptions {

arguments = [moduleName: project.getName()]

}

}

…………………………

}

//添加依赖

dependencies {

implementation com.alibaba:arouter-compiler:1.1.4

}

方法三:检查前面两个自己都设置好了,如果还是报错,那就是这个问题了(我就是掉这个坑里)

Module:app的gradle下添加依赖

dependencies {

implementation project(':module_greendao')

}

看完后,就不要问我那“三个问题”是什么了,你看懂方法就知道问题是什么了,笔芯!!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐