kotlin 、java 加上butterknife 、arouter 简直是个灾难
最近接手老项目java 加上我自己编写kotlin ,尝试组件化(Arouter)结果一部一坑,十步埋人加点灯。
第一回:项目引用arouter问题
java 配置 主app build.gradle ,依赖等
defaultConfig {
javaCompileOptions {
annotationProcessorOptions {
arguments= [moduleName: project.getName()]
}
}
dependencies{
...
implementation "com.alibaba:arouter-api:1.5.1"
implementation "com.alibaba:arouter-compiler:1.5.1"
}
结果就是无法运行,找不到路径
第二回:改用kapt kotlin 属性,结果仍然无法跳转 【气炸了】
defaultConfig {
kapt {
arguments {
arg("AROUTER_MODULE_NAME", project.getName())
}
}
dependencies{
...
implementation "com.alibaba:arouter-api:1.5.1"
kapt "com.alibaba:arouter-compiler:1.5.1"
}
仍旧报错
第三回:全部加上,添加参数 butterknife 报错
@JvmField
@Autowired(name = "na")
var na = null


翻译为:请求增量注释处理,但由于以下处理器不是增量的,因此禁用了支持:butterknife.compiler.ButterKnifeProcessor(NON_Incremental)。
尝试各种方法,无效有说是kotlin 1.3.50v 的bug
有说需要在 gradle.properties 加入
kapt.verbose=true
遂试,无效。
最后说一遍kotlin 别跟java混用 + arouter + butterknife . 浪费一下午,大神们:有知道解决办法的出出主意。
高考第一天,重新打开运行,去掉参数,按照2 部方式竟可以跳转成功了,只是参数仍无法传递。
网友评论