今天使用阿里巴巴的Arouter路由框架開發的時候,遇到:ARouter::Compiler >>> No module name, for more information, look at gradle log.
這裏記錄一下起因和解決方案。
1、在每一個moudle中想要使用路由跳轉的話,加上這段代碼:
android {
defaultConfig {
...
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
}
}
}
}
2、在每一個moudle中想要使用路由跳轉的話,加上這段代碼:
annotationProcessor'com.alibaba:arouter-compiler:1.2.2'
3、在基礎的moudle中加上這句代碼
api'com.alibaba:arouter-api:1.4.1' 這個必須要加
annotationProcessor'com.alibaba:arouter-compiler:1.2.2'
還有一個問題:
"W/ARouter::: ARouter::There is no route match the path [/xxx/xxx], in group [xxx][ ]"。
通常來說這種情況是沒有找到目標頁面,目標不存在
如果這個頁面是存在的,那麼您可以按照下面的步驟進行排查
檢查目標頁面的註解是否配置正確,正確的註解形式應該是 (@Route(path="/test/test"), 如沒有特殊需求,請勿指定group字段,廢棄功能)
我這個問題比較奇葩:一級路徑都是test就不行,一級路徑不一樣纔可以,如下: test/ findName/
PS:還有,'com.alibaba:arouter-compiler:x.x.x' 'com.alibaba:arouter-api:x.x.x' 要使用最新的版本