我正在尝试在我的项目中使用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
关闭项目。在“欢迎使用Android Studio”对话框中,单击右下角的“配置”。
然后,
设置>构建,执行,部署>编译器>注释处理器。勾选'启用注释处理'。
如果这不起作用。从“欢迎使用Android Studio”对话框中删除项目,然后从新打开。
为我工作。
本答案面向将来遇到此问题的人
对于Kotlin
添加kapt插件
X
对于Java
apply plugin: 'kotlin-kapt'
implementation 'com.google.dagger:dagger:2.21'
kapt 'com.google.dagger:dagger-compiler:2.21'
在.idea文件夹中打开compiler.xml。我有以下内容:
File > Invalidate Caches / Restart... > Invalidate and Restart
我只是将enable更改为true并重新打开项目。
完全等待这个过程,然后一切都会好的。
添加到@Jacques Fever和@mtrakal
如果您无法访问“欢迎使用Android Studio”屏幕。尝试使用<annotationProcessing>
<profile default="true" name="Default" enabled="false">
<processorPath useClasspath="true" />
</profile>
</annotationProcessing>
而不是点击File -> Close Project
图标。然后,您将看到“欢迎使用Android Studio”屏幕,您将看到右下角的齿轮。在此之后遵循接受的答案,可能还有缓存失效。
愚蠢,但为我工作,尝试在我的情况下更改库版本我升级到1.4.1
如果项目未集成到版本控制中,有时annotate选项将显示为灰色。所以转到VCS->启用版本控制集成然后你会看到annotate选项,并且可以在编辑器的行号旁边看到作者名称。