关键字 # autoservice 不执行 AbstractProcessor 不执行。
在网上晃了一大圈,有说是因为 gradle 版本太高的,其实并不是,
而是,果然你使用 KT 写的AbstractProcessor ,那么要用到 plugins id 'kotlin-kapt' .相应的,google 库的AUTOSERVICE 也要用 kapt,而不是 annotationprocess 。
配置如下:
编译 java lib库
lugins {
id 'java-library'
id 'kotlin'
id 'kotlin-kapt' // 如果你的 autoservice是用kt写的,那么就用kotlin-kapt 下面也是
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
api project(path: ':annotation_key')
kapt 'com.google.auto.service:auto-service:1.1.1' //同上
implementation 'com.google.auto.service:auto-service-annotations:1.1.1'
}
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
注解java lib 库
plugins {
id 'java-library'
id 'kotlin'
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
最后注意,build 要clean之后才会输出build信息,已经存在了,就不会再次执行了。
》》build clean
》》build
//我的gradle 版本
#Fri Jul 12 17:04:44 CST 2024
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME