工作记录:kotlin混合编程Arouter无法匹配路径

ARouter There is no route match the path [/xxx/xxx], in group [xxx][ ]

最近项目里引入了Kotlin,保留了老的Java文件,但是新的需求都使用Kotlin进行开发。在做react项目接入时,发现ARouter总是报无法匹配路径。一顿翻阅官方文档发现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'
    ...
}

总结

在使用第三方的库时一定要认真阅读官方的文档,幸好在我引用kotlin之后有新的跳转需求。如果项目直接上线,线上的Arouter跳转将全部失效,带来的后果难以想象。
Arouter相关知识可在Arouter官方教程上学习了解

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ARouter ARouter 是阿里云出品的Android中间件,负责处理盅跳转页面时的逻辑,简化和优化之前跳转...
    常强儿阅读 8,928评论 1 1
  • 文章转载地址 http://www.jianshu.com/p/c33128fb86dc文章中有些内容是借鉴《K...
    zelo阅读 1,672评论 0 0
  • 随便看了看陈愉的《三十岁前别结婚》,比较针对剩女的一本书。 不好说是否按照书里这么做是否适合每位女性,毕竟每个人幸...
    helen1990_阅读 400评论 0 0
  • 文/云端一梦 素手遮玉面难掩指缝流出的笑容黄色发丝飘扬
    云端一梦l阅读 273评论 0 14
  • 亲子读经日记2019年第115篇 总224篇 2019年4月25号 星期四 天气: 晴 系统读经55周4天 共38...
    群策群辉阅读 232评论 0 0