在使用ARouter框架过程中遇到了这个问题,搜索了一下,网上大部分都是说是以下问题导致的
- path路径的没写对,即最少需要两层:/groupname/Activity,且不同module的groupname名不同
- 用于跳转的module都需要添加依赖,且该模块需要被主APP模块依赖
看了下,我这两个都没有问题,但还是跳转时找不到页面,最终解决是通过如下操作
因为我的项目是使用Kotlin写的,而不是原先的Java项目,而我module里添加的依赖还是如下方式,虽然不会报错,但是会出现找不到页面的状况
android {
defaultConfig {
...
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
}
}
}
}
dependencies {
// 替换成最新版本, 需要注意的是api
// 要与compiler匹配使用,均使用最新版可以保证兼容
compile 'com.alibaba:arouter-api:x.x.x'
annotationProcessor 'com.alibaba:arouter-compiler:x.x.x'
...
}
更改为以下的依赖方式即可解决问题
// 可以参考 module-kotlin 模块中的写法
apply plugin: 'kotlin-kapt'
kapt {
arguments {
arg("AROUTER_MODULE_NAME", project.getName())
}
}
dependencies {
compile 'com.alibaba:arouter-api:x.x.x'
kapt 'com.alibaba:arouter-compiler:x.x.x'
...
}