Android autoservice Java->Kotlin

如果直接把写好的Java注解在Kotlin上使用是没反应的,需要修改一下gradle

gradle中注解处理器字段annotationProcessor改为kapt并在上面添加插件
apply plugin: 'kotlin-kapt'

  • java注解处理器
apply plugin: 'java-library'

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    // 注册注解,并对其生成META-INF的配置信息,rc2在gradle5.0后有坑
    // As-3.2.1 + gradle4.10.1-all + auto-service:1.0-rc2
    // implementation 'com.google.auto.service:auto-service:1.0-rc2'

    // As-3.4.1 + gradle5.1.1-all + auto-service:1.0-rc4
    compileOnly'com.google.auto.service:auto-service:1.0-rc4'
    annotationProcessor'com.google.auto.service:auto-service:1.0-rc4'

    // 引入annotation,让注解处理器-处理注解
    implementation project(':annotation')
}

// java控制台输出中文乱码
tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}

// jdk编译版本1.7
sourceCompatibility = "7"
targetCompatibility = "7"

kotlin 注解处理器

apply plugin: 'java-library'
apply plugin: 'kotlin'
apply plugin: 'kotlin-kapt'



dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    // 注册注解,并对其生成META-INF的配置信息,rc2在gradle5.0后有坑
    // As-3.2.1 + gradle4.10.1-all + auto-service:1.0-rc2
    // implementation 'com.google.auto.service:auto-service:1.0-rc2'

    // As-3.4.1 + gradle5.1.1-all + auto-service:1.0-rc4
    compileOnly'com.google.auto.service:auto-service:1.0-rc7'
    kapt 'com.google.auto.service:auto-service:1.0-rc7'


    implementation project(path: ':annotation')
}

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