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"

你可能感兴趣的:(Android autoservice Java->Kotlin)