APT Android支持Koltin与项目依赖

·  阅读 875

背景

APT支持kotlin

解决方式

  1. 使用kapt

集成的时候使用

apply plugin: 'kotlin-kapt'

repositories {
    mavenCentral()
}

dependencies {
    kapt project(path: ':block-processor')
//    annotationProcessor project(path: ':block-processor')
}
复制代码
  1. 修改block-processor的实现.kotlin转换成字节码可能会生成一些额外的东西,做好排错处理.
         if (typeSet.contains(el.type.tsym.name.toString().toLowerCase())) {
                        list.add(preName + "." + (el).getSimpleName().toString());
                    }
复制代码

例如这里遍历对象的时候,判断对象是不是需要处理的类型再放入集合.

项目依赖

  1. process如果需要使用jdk里面的对象

        compileOnly files(org.gradle.internal.jvm.Jvm.current().getToolsJar())
    复制代码
  2. process如果不想手动生成注册文件

        compileOnly 'com.google.auto.service:auto-service:1.0-rc4'
    复制代码

    然后在代码头上加上注解 @AutoService(Processor.class)

    @AutoService(Processor.class)
    public class StatisticsProcessor extends AbstractProcessor {
    复制代码

    他会自动帮我们生成注册文件.

    这里也有意思,可以思考下@AutoService的实现原理.

分类:
Android
分类:
Android
收藏成功!
已添加到「」, 点击更改