最近项目里引入了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