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

问题描述 投票:42回答:10

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

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

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

例如:

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

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

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

此外,当我打开项目时,我收到来自lombok插件的警告“注释处理似乎已禁用该项目”。当我打开项目设置并转到“构建 - >编译器”时,我找不到注释处理器。

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

--EDIT--我正在制作一个Pull Request来改变用Java8编译的项目,你可以在这里查看PR:qazxsw poi

java android annotations android-studio-2.2
10个回答
98
投票

关闭项目。在“欢迎使用Android Studio”对话框中,单击右下角的“配置”。

然后,

设置>构建,执行,部署>编译器>注释处理器。勾选'启用注释处理'。

如果这不起作用。从“欢迎使用Android Studio”对话框中删除项目,然后从新打开。

为我工作。


0
投票

本答案面向将来遇到此问题的人

对于Kotlin

添加kapt插件

X

对于Java

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

43
投票
  1. 关闭所有Android Studio项目
  2. https://github.com/jonathanrz/myexpenses-android/pull/57
  3. 单击配置 - >设置请参阅enter image description here

30
投票

您可以启用注释处理器而无需在Android Studio 2.3中关闭项目:

enter image description here

File -> Other Settings -> Default Settings

enter image description here

Build, Execution, Deployment -> Compiler -> Annotation Processors -> Enable annotation processing. 在此之后不要忘记清理,构建,无效并重新启动。 干杯!



6
投票

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

File > Invalidate Caches / Restart... > Invalidate and Restart

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


3
投票
  1. 关闭你的项目。
  2. 设置>构建,执行,部署>编译器>注释处理器。选中“启用注释处理”。
  3. 打开你的项目。
  4. 文件>使高速缓存/重新启动无效...>无效并重新启动

完全等待这个过程,然后一切都会好的。


1
投票

添加到@Jacques Fever和@mtrakal

如果您无法访问“欢迎使用Android Studio”屏幕。尝试使用<annotationProcessing> <profile default="true" name="Default" enabled="false"> <processorPath useClasspath="true" /> </profile> </annotationProcessing> 而不是点击File -> Close Project图标。然后,您将看到“欢迎使用Android Studio”屏幕,您将看到右下角的齿轮。在此之后遵循接受的答案,可能还有缓存失效。


0
投票

愚蠢,但为我工作,尝试在我的情况下更改库版本我升级到1.4.1


0
投票

如果项目未集成到版本控制中,有时annotate选项将显示为灰色。所以转到VCS->启用版本控制集成然后你会看到annotate选项,并且可以在编辑器的行号旁边看到作者名称。

© www.soinside.com 2019 - 2024. All rights reserved.