设置显式注释处理器

2024-05-03

我正在尝试将 Maven 存储库添加到我的 Android Studio 项目中。 当我进行 Gradle 项目同步时,一切都很好。但是,每当我尝试构建我的 apk 时,都会收到此错误:

Execution failed for task ':app:javaPreCompileDebug'.
> Annotation processors must be explicitly declared now.  The following dependencies on 
the compile classpath are found to contain annotation processor.  Please add them to 
the annotationProcessor configuration.
 - classindex-3.3.jar
Alternatively, set android.defaultConfig.javaCompileOptions.annotationProcessorOptions
.includeCompileClasspath = true to continue with previous behavior.  Note that this 
option is deprecated and will be removed in the future.
See https://developer.android.com/r/tools/annotation-processor-error-message.html for more details.

该链接包括(https://developer.android.com/r/tools/annotation-processor-error-message.html https://developer.android.com/r/tools/annotation-processor-error-message.html)在错误 404 中,所以它没有帮助。

我已经在android studio设置中启用了注释处理,并添加了includeCompileClasspath = true我的注释处理器选项。我也尝试过添加classindex, classindex-3.3 and classindex-3.3.jar处理器 FQ 名称,但这也没有帮助。

这些是我在依赖项下添加到默认 build.gradle 的行:

dependencies {
    ...
    compile group: 'com.skadistats', name: 'clarity', version:'2.1.1'
    compile group: 'org.atteo.classindex', name: 'classindex', version:'3.3'
}

最初我只是添加了“清晰度”一项,因为这是我关心的,但我添加了“classindex”条目,希望它能解决这个问题。删除“清晰度”并保留“classindex”给了我完全相同的错误。

我对 gradle/maven 不太熟悉,所以任何帮助将不胜感激。


要修复该错误,只需更改这些依赖项的配置以使用annotationProcessor即可。如果依赖项包含也需要位于编译类路径上的组件,请再次声明该依赖项并使用编译依赖项配置。

例如:

annotationProcessor 'com.jakewharton:butterknife:7.0.1'
compile 'com.jakewharton:butterknife:7.0.1'

这个链接详细描述了它:https://developer.android.com/studio/preview/features/new-android-plugin-migration.html#annotationProcessor_config https://developer.android.com/studio/preview/features/new-android-plugin-migration.html#annotationProcessor_config

为了完整性,包含了相关片段。

使用注释处理器依赖配置

在以前版本的 Android Gradle 插件中,依赖项 编译类路径自动添加到处理器 类路径。也就是说,您可以将注释处理器添加到 编译类路径,它将按预期工作。然而,这导致 添加大量的数据会对性能产生重大影响 对处理器不必要的依赖。

使用新插件时,必须将注释处理器添加到 使用annotationProcessor依赖项的处理器类路径 配置,如下图:

依赖项{ ... 注解处理器 'com.google.dagger:dagger-compiler:' }

该插件假设依赖项是注释处理器,如果其 JAR 文件包含以下文件:META- INF/services/javax.annotation.processing.Processor。如果插件 检测编译类路径上的注释处理器,您的构建 失败,您会收到一条列出每个注释的错误消息 编译类路径上的处理器。要修复该错误,只需更改 这些依赖项的配置以使用annotationProcessor。如果 依赖项包括也需要编译的组件 类路径,再次声明该依赖项并使用编译 依赖配置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置显式注释处理器 的相关文章

随机推荐

  • ng-focus 发射两次而 ng-blur 从不发射

    到目前为止 我对 Angular 已经有了相当的经验 但这似乎是在较低级别上发生的 DOM 事件传播方式的事情 由于某种原因 在我的申请的一部分中 我有ng focus and ng blur一样的input 但是ng focus事件触发两
  • 使用 powershell 从远程服务器获取服务状态

    如何获取需要用户名和密码登录的远程计算机的服务状态 我正在尝试使用以下代码找到解决方案 serviceStatus get service ComputerName machineName Name service 默认语法为get ser
  • 禁用 jquery-chosen 下拉菜单

    我有一个正在使用的选择 div选择jquery插件 http harvesthq github io chosen 设计样式并添加功能 最值得注意的是搜索 div 看起来像这样
  • 如何调整jupyterlab笔记本中滚动输出高度的大小?

    有没有办法调整 jupyterlab 笔记本中滚动输出高度的大小 潜在的解决方案 但需要 HTML CSS 知识 我从这个问题中找到了这个片段调整 ipython 笔记本输出窗口的大小 https stackoverflow com que
  • NLTK 中的无监督 HMM 训练

    我只是想进行非常简单的无监督 HMM 训练nltk http www nltk org 考虑 import nltk trainer nltk tag hmm HiddenMarkovModelTrainer from nltk corpu
  • 如何在编写 XML 文件时忽略 DTD 验证但保留 Doctype?

    我正在开发一个系统 该系统应该能够读取任何 或至少是任何格式良好的 XML 文件 操作一些节点并将它们写回到同一个文件中 我希望我的代码尽可能通用 但我不希望 对代码中任何位置的架构 文档类型信息的硬编码引用 文档类型信息位于源文档中 我想
  • 通用接口列表

    如果我有一个带有几个实现类的通用接口 例如 public interface IDataElement
  • cocoa——让嵌套的 NSView 和 CALayers 按比例调整大小

    我的 NSWindow 的 contentView 是 NSView 子类 它还有一些其他 NSView 子类作为子视图 子视图是基于图层的 而这些图层又包含子图层 一些子层具有另外的子子层 我希望在调整窗口大小时 整个内容也按比例调整大小
  • 嵌套 forEach:未捕获类型错误:data.forEach 不是函数

    我不想使用任何 for 循环或任何常规循环 我正在尝试使用forEach但我收到错误 未捕获的类型错误 data forEach 不是函数 return falsyData map function data data forEach fu
  • ASP.NET 中的自定义角色

    我正在开发一个 ASP NET 网站 该网站使用带有自定义身份验证机制的表单身份验证 该机制设置e Authenticated以编程方式protected void Login Authenticate object sender Auth
  • 在 Mac OS X 上的某个时刻,移动光标未显示在焦点上

    我有基于 Swing 的应用程序 每当我们在组件上移动鼠标时 它都会显示移动光标图标 并通过拖动来移动该组件 我已经为此使用了代码 mycomponent setCursor Cursor getPredefinedCursor Curso
  • 安装 Canary 7 后无法打开 Android studio 4.2 Canary 8 或 9

    语境 MacOS Catalina 10 15 6Java 1 8 0 161 将 Android Studio 4 2 Canary 7 更新到 Canary 8 以及 Canary 9 后 它无法再打开 我尝试从 Android Stu
  • 非常大的 JTable、RowFilter 和额外负载

    我想请求澄清 RowFilter 的使用及其对性能的影响 我通过 include Entry 方法实现了一个过滤器 对于每一行 只需检查模型中其对应值是否设置了布尔标志 如果是 则返回 true 否则返回 false 现在 我拥有的 JTa
  • 为什么 Z3 对于很小的搜索空间来说很慢?

    我正在尝试制作一个 Z3 程序 在 Python 中 它生成执行某些任务的布尔电路 例如 添加两个 n 位数字 但性能非常糟糕 以至于对整个解决方案空间进行强力搜索将导致快一点 这是我第一次使用 Z3 所以我可能会做一些影响我性能的事情 但
  • 添加ssrs报告描述

    无论如何 我可以添加一个在执行前显示在报告中的 ssrs 报告描述吗 我用谷歌搜索 大多数人说这是不可能的 但必须有一种方法来调整它 对吗 对于仍然需要添加用户可以在执行报告之前阅读的报告描述的任何人 我在我使用的两个 SSRS 版本 20
  • 如何使用 RedirectToAction 维护 ModelState?

    如果我的操作中有错误 如何返回不同操作的结果或将用户移至不同的操作ModelState不失去我的ModelState信息 场景是 Delete操作接受来自我的 DELETE 表单的 POSTIndex动作 视图 如果有错误Delete我想将
  • python中的指数分布随机生成器(对数函数)?

    我真的需要帮助 因为我被困在代码的开头 我被要求创建一个函数来研究直方图上的指数分布 函数为 x log 1 y 是一个常数 我在代码中将其称为 lamdr 并简单地给了它 10 我给了 N 随机数的数量 10 并运行了代码 但结果和生成的
  • 将多个参数绑定到mysqli查询中

    现在我需要使用以下结构来处理将多个参数绑定到 mysqli 查询中 if words total 1 statement gt bind param s words 0 else if words total 2 statement gt
  • 在 Visual Studio 中包含一个似乎仅适用于 Linux 的网格框架?

    我使用带有 Web Essentials 扩展的 Visual Studio 2013 来完成所有 Sass Scss 工作 这很棒 我发现了一个关于网格框架的教程 我真的很想使用它 名为Susy https github com eric
  • 设置显式注释处理器

    我正在尝试将 Maven 存储库添加到我的 Android Studio 项目中 当我进行 Gradle 项目同步时 一切都很好 但是 每当我尝试构建我的 apk 时 都会收到此错误 Execution failed for task ap