android - 在 kotlin 中使用注释处理器
问题描述
我的处理器中有一个简单的注释,如下所示:
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.TYPE) @Retention(RetentionPolicy.CLASS)
public @interface BundleBuilder
{
// ...
}
这适用于 java 文件,但是一旦我将文件转换为 kotlin,注释的导入就不再起作用了。为什么?
我需要改变什么才能让他的注释也能在 kotlin 中工作?从文档中我可以看到 kotlin 与 java 注释 100% 兼容,所以我有点困惑这里有什么问题......我会理解处理器是否不工作并且需要调整以与 kotlin 一起工作,但是我不知道为什么导入本身不起作用...
我正在谈论的图书馆在这里:https ://github.com/MFlisar/BundleArgs
解决方案
我认为您应该kapt
在build.gradle
. 毕竟,清理并重建您的项目。
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
//...
dependencies {
compileOnly 'com.github.MFlisar.BundleArgs:bundleargs-annotation:1.3'
kapt 'com.github.MFlisar.BundleArgs:bundleargs-processor:1.3'
}
repositories {
maven { url "https://jitpack.io" }
}
推荐阅读
- r - 更改列标题
- go - 同一项目中的多个模块
- angular - 如何使用嵌套表单数组将服务器响应映射到角度响应式表单
- javascript - jQuery滑块转换为香草JavaScript不起作用
- typescript - 导入带有类型信息的可选模块
- php - php中的数组输出格式
- angular - 如何在同一个 Angular 项目中使用两个不同的 UI (CSS) 框架,一个是移动的,另一个是桌面的
- javascript - 返回bool值,两个reduce在彼此的js中
- c++ - 为什么 C++ 不支持“嵌套注释”?
- java - 即使提交多个应用程序,SparkLauncher 也只启动一个应用程序