在 Android Studio 2.2 中启用注释处理器选项

enable Annotation Processors option in Android Studio 2.2

我正在尝试在我的项目中使用 java 8,为此我添加了 jack 编译器。

启用 jack 后,我开始遇到使用注释处理的库的问题,并在网上查看我读到我需要 android studio 2.2 和 com.android.tools.build:gradle:2.2。 0-alpha6 用于编译从注释生成代码的库。

我下载 Android Studio 2.2 preview 6 并将我的项目转换为它。之后我发现不再支持 apt gradle 插件,然后我需要更改每个使用 apt 的依赖项以使用新的 annotationProcessor 选项。

例如:

apt "org.projectlombok:lombok:$rootProject.lombokVersion"

annotationProcessor "org.projectlombok:lombok:$rootProject.lombokVersion"

现在,如果我使用 "make project",项目编译没有问题,但如果我尝试执行它,我会发现应该由注释生成的代码有错误。

另外,当我打开项目时,我收到来自 lombok 插件的警告 "Annotation processing seems to be disabled for the project"。当我打开项目设置并转到 "Build -> Compiler" 时,我找不到注释处理器。

所以,我的问题是:如何在 Android Studio 2.2 中启用注释处理器?这个功能被禁用了?如果是,我如何从注释生成代码?

--编辑-- 我正在制作一个 PullRequest 来更改项目以使用 Java8 进行编译,您可以在此处查看 PR:https://github.com/jonathanrz/myexpenses-android/pull/57

关闭项目。在 "Welcome to Android Studio" 对话框中单击右下角的 "Configure"。

然后,

Settings > Build, Execution, Deployment > Compiler > Annotation Processors. Tick 'Enable annotation processing'.

如果不行。从 "Welcome to Android Studio" 对话框中删除项目并从新打开。

对我有用。

之后做:File > Invalidate Caches / Restart... > Invalidate and Restart

添加到@Jacques Koorts 和@mtrakal

如果您无法进入 "Welcome to Android Studio" 屏幕。尝试 File -> Close Project 而不是单击 X 图标。然后你会看到 "Welcome to Android Studio" 屏幕,你会在右下角看到齿轮。之后遵循接受的答案,可能还有缓存失效。

  1. 关闭所有 Android Studio 项目
  2. 点击配置-->设置 看

  1. 关闭您的项目。
  2. 设置 > 构建、执行、部署 > 编译器 > 注释处理器。检查 'Enable annotation processing'。
  3. 打开您的项目。
  4. 文件 > 使缓存无效/重新启动... > 无效并重新启动

等待过程完全,就万事大吉了。

在 .idea 文件夹中打开 compiler.xml。我有以下内容:

<annotationProcessing>
  <profile default="true" name="Default" enabled="false">
    <processorPath useClasspath="true" />
  </profile>
</annotationProcessing>

我只是将 enable 更改为 true 并重新打开项目。

您可以在 Android Studio 2.3:

中启用注释处理器而无需关闭您的项目
File -> Other Settings -> Default Settings

Build, Execution, Deployment -> Compiler -> Annotation Processors -> 
Enable annotation processing.

之后不要忘记清理、构建、失效和重新启动。
干杯!

愚蠢但对我有用,在我升级到 1.4.1 的情况下尝试更改库版本

如果项目没有集成到版本控制中,有时annotate选项会变灰。所以转到 VCS->Enable version control integration 然后瞧,你会看到注释选项,并且可以在编辑器的行号旁边看到作者姓名。

这个答案是给以后遇到这个问题的人的

对于 Kotlin

添加kapt插件

apply plugin: 'kotlin-kapt'
implementation 'com.google.dagger:dagger:2.21'
kapt 'com.google.dagger:dagger-compiler:2.21'

对于Java

implementation 'com.google.dagger:dagger:2.21'
annotationProcessor 'com.google.dagger:dagger-compiler:2.21'

我个人会强制将其添加到您的 build.gradle(Module:app) 文件

android {
    ...
    defaultConfig {
        ...
        javaCompileOptions {
            annotationProcessorOptions {
                includeCompileClasspath false
            }
        }
    }
}