1

我正在尝试在我的 android studio 项目中实现我自己的注释处理器。在我将这个简单的行添加到 build.gradle 依赖块之前,一切都运行良好并且正在编译:

dependencies {
   .
   .
   .
   annotationProcessor(':processor')
}

那时我在编译时收到此错误:

找不到:处理器:。要求:project :app 在 build.gradle 文件中搜索

我遵循了无尽的教程,似乎没有任何帮助。我最近刚刚升级到 AS 3.1,并认为它可能相关?

这是项目结构:(请注意 - 在这里我将注释处理器添加为 jar 文件。我还附加了一个图像,试图将其作为不同的模块和相同的结果)

在此处输入图像描述

这是一个不同的我正在尝试添加它 - 在同一个项目中使用不同的模块创建注释处理器,但仍然不行:

在此处输入图像描述

图片中的一些额外信息...项目结构:

在此处输入图像描述

应用程序构建:

在此处输入图像描述

处理器构建:

在此处输入图像描述

注解:

在此处输入图像描述

主要活动:

在此处输入图像描述

处理器实现:

在此处输入图像描述

4

1 回答 1

4

如果您将所有内容都放在同一个工件中——注解处理器,它是处理器用户使用的注解和库类,Android Gradle 插件要求您在同一个工件上声明两个依赖项:

annotationProcessor project(':processor')
compile project(':processor')

或者

annotationProcessor files('libs/processor.jar')
compile files('libs/processor.jar')

请注意,将来可能会不支持此类设置。建议将处理器拆分为单独的模块并使其依赖于其余代码。这样做之后,您将能够像这样声明依赖项:

annotationProcessor project(':processor') // processor-only jar
compile project(':processor-api') // annotations and classes for user code
于 2018-03-28T10:19:08.370 回答