最近項目裏引入了Kotlin,保留了老的Java文件,可是新的需求都使用Kotlin進行開發。在作react項目接入時,發現ARouter老是報沒法匹配路徑。一頓翻閱官方文檔發現kotlin項目的配置和java有些許不一樣。再此記錄一下,也讓你們少走彎路。在原有java項目中加入kotlin時必定要注意修改Arouter的配置。java
若是moudle爲純java,則能夠使用java的配置方式:react
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'
...
}
複製代碼
若是moudle爲包含kotlin,則要使用kotlin的配置方式:android
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'
...
}
複製代碼
在使用第三方的庫時必定要認真閱讀官方的文檔,幸虧在我引用kotlin以後有新的跳轉需求。若是項目直接上線,線上的Arouter跳轉將所有失效,帶來的後果不可思議。 Arouter相關知識可在Arouter官方教程上學習瞭解git