ARouter There is no route match the path [/xxx/xxx], in group [xxx][ ]
最近項目里引入了Kotlin,保留了老的Java文件得糜,但是新的需求都使用Kotlin進(jìn)行開發(fā)。在做react項目接入時志群,發(fā)現(xiàn)ARouter總是報無法匹配路徑碗旅。一頓翻閱官方文檔發(fā)現(xiàn)kotlin項目的配置和java有些許不同。再此記錄一下陵究,也讓大家少走彎路销部。在原有java項目中加入kotlin時一定要注意修改Arouter的配置摸航。
java的依賴配置
如果moudle為純java,則可以使用java的配置方式:
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'
...
}
kotlin的依賴配置
如果moudle為包含kotlin酱虎,則要使用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'
...
}
總結(jié)
在使用第三方的庫時一定要認(rèn)真閱讀官方的文檔,幸好在我引用kotlin之后有新的跳轉(zhuǎn)需求擂涛。如果項目直接上線读串,線上的Arouter跳轉(zhuǎn)將全部失效,帶來的后果難以想象。
Arouter相關(guān)知識可在Arouter官方教程上學(xué)習(xí)了解