从0到1实现一个Android路由——对Kotlin模块的支持

Posted xingfeng_coder

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从0到1实现一个Android路由——对Kotlin模块的支持相关的知识,希望对你有一定的参考价值。

从0到1实现一个android路由系列文章

从0到1实现一个Android路由(3)——APT收集路由中,提到过Processor处理Kotlin类时,无法得到注解从而路由表不正确,本章将介绍如何解决这个问题。
参考自阿里的ARouter

解决方案

其实解决方案很简单,修改在有用注解标注的Kotlin写的Activity的module的build.gradle。修改点有几点:

  1. 添加apply plugin:‘kapt’
  2. 将annotationProcessor引用的注解处理器改为kapt
  3. 如果需要添加参数的话
kapt 
    arguments 
        arg("module_name", "App")
    

因为app模块本身就是Kotlin和Java混合的,因此修改其build.gradle如下,

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android-extensions'

kapt 
    arguments 
        arg("module_name", "App")
    


dependencies 
    implementation project(':annotation')
    implementation project(':api')
    implementation project(":other_module")
    kapt project(":compiler")

另外,再在原来使用addUrl()添加Kotlin对应的url的地方,更改为使用注解方式即可。

经过实验发现,大功告成,哈哈。关于代码,可以参考github

关注我的技术公众号,不定期会有技术文章推送,不敢说优质,但至少是我自己的学习心得。微信扫一扫下方二维码即可关注:

以上是关于从0到1实现一个Android路由——对Kotlin模块的支持的主要内容,如果未能解决你的问题,请参考以下文章

从0到1实现一个Android路由——APT收集路由

从0到1实现一个Android路由——拦截请求再跳转

从0到1实现一个Android路由——拦截请求再跳转

从0到1实现一个Android路由——URL解析器

从0到1实现一个Android路由——多模块的APT收集路由

Android 9 Audio系统笔记:音频路由实现——从AudioTrack到audiohal