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

jon*_*nrz 43 java android annotations android-studio-2.2

我正在尝试在我的项目中使用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"
Run Code Online (Sandbox Code Playgroud)

annotationProcessor "org.projectlombok:lombok:$rootProject.lombokVersion"
Run Code Online (Sandbox Code Playgroud)

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

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

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

--EDIT--我正在制作一个PullRequest来改变用Java8编译的项目,你可以在这里查看PR:https://github.com/jonathanrz/myexpenses-android/pull/57

Jac*_*rts 98

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

然后,

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

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

为我工作.

  • 在Android Studio 2.3中没有**Compiler> Annotation Processors**这样的东西. (21认同)
  • 有,但你必须关闭你当前的项目!看看@Bill解决方案 (21认同)
  • Android Studio 2.1.2中不存在"注释处理器" (14认同)
  • 您也可以在"文件">"其他设置">"默认设置..."中打开项目找到它 (13认同)
  • @ appoorv-Khatreja您无法找到它,因为您正在接受雅克科特斯所说的当前项目.关闭你当前的项目.然后打开Android Studio中的配置/设置菜单(右下角).然后选择Build,Execution,Deployment/Compiler和Annocation Processors,然后选中"Enable annotation processing". (9认同)
  • 我也在设置里搜索了注解处理器选项,没找到。我的错误总是点击不是文件夹的“编译器”选项。正上方还有另一个“编译器”选项,其子元素也包含注释处理器。 (2认同)

Bil*_*ill 45

  1. 关闭所有AndroidStudio项目
  2. 看到 在此输入图像描述

  3. 单击配置 - >设置参见 在此输入图像描述


Tud*_*dor 32

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

File -> Other Settings -> Default Settings
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Build, Execution, Deployment -> Compiler -> Annotation Processors -> 
Enable annotation processing.
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 在此之后不要忘记清理,构建,失效和重新启动.
干杯!


mtr*_*kal 23

/sf/answers/2708873051/

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

  • 这就解决了我的问题.做愚蠢的"从开始屏幕删除"黑客行为不起作用! (2认同)

Jam*_*ney 7

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

<annotationProcessing>
  <profile default="true" name="Default" enabled="false">
    <processorPath useClasspath="true" />
  </profile>
</annotationProcessing>
Run Code Online (Sandbox Code Playgroud)

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