当前位置: 首页 > 知识库问答 >
问题:

Android Studio 3.0 注释处理器 [复制]

陆信瑞
2023-03-14

在我尝试构建我的项目后,我得到以下错误:

Error:android-apt plugin is incompatible with the Android Gradle plugin.  Please use 'annotationProcessor' configuration instead.

我尝试在每个实现之后添加annotationProcessor“…..”,但没有成功消除错误。

这是在将Android Studio升级到最新版本 ( 3.0 ) 之后发生的。

编辑:

默认配置中添加包含编译类路径 true 无济于事:

    javaCompileOptions {
        annotationProcessorOptions {
            includeCompileClasspath true
        }
    }

有什么解决方案吗?

共有2个答案

薛浩言
2023-03-14
匿名用户

您必须在应用程序级别梯度中添加< code > annotationprocessorpoptions 。

android {    
compileSdkVersion 26    
buildToolsVersion '26.0.2'    
defaultConfig { 
   applicationId "com.your.packagename"  
   minSdkVersion 16
   targetSdkVersion 26
   versionCode 1
   versionName "1.0"
   testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 

   // add below section
   javaCompileOptions {
        annotationProcessorOptions {
            includeCompileClasspath true
        }
    }
 }
}

蒲昊
2023-03-14

首先,升级后,对gradle进行了一些更改。

重要的是升级到最新的gradle版本来解决这个问题。

这意味着你需要为你的版本添加合适的版本

 dependencies {
    classpath 'com.android.tools.build:gradle:3.0.0'
 }

下一步是删除不再需要的android-apt。

只有应用插件就足够了:'com.android.application'

一旦你这样做了,改变你的依赖关系

编译implementationannotationProcessortestCompileandroidTestImplementation>/code>

如果您已经这样做了,则使您的缓存失效并重新启动,这非常重要。

那应该能行。

您可以在以下网址找到使用最新版本的工作gradle文件

应用build.gradle和项目build.gradle

p/s :对于许多仍然使用 Realm 旧版本的人来说,

请更新到最新版本,因为旧版本仍然使用“Android-阿普特”。

 类似资料:
  • 需要注释处理器的帮助。我创建了一个简单的注释处理器,它使用@autoservice注释来检查注释的字段是否为最终字段。但它没有显示任何编译时错误。这是我的配置 注释: 注释处理器: pom文件: 测试文件:

  • 我正在使用注释处理器来处理方法参数的注释。 用于参数的注释类型有一个注释@参数 现在,当注释处理器运行时,我想检查参数注释()是否有参数注释。我通过执行以下代码来实现这一点。 由于某种原因,arg始终为空。是否有注释未返回的原因?

  • 我在编译使用我的注释处理器的代码时收到以下错误: 关于如何调试这个有什么提示吗?错误输出根本没有用处。有没有办法得到更详细的错误?

  • 建筑格拉德尔 注释 加工机 \资源\META-INF\javax.annotation.processing.处理器 注释消费者 建筑格拉德尔 这应该是一个非常简单的注释处理器,只是打印调试语句。对我来说,这一切似乎都是正确的,但是在我构建/运行项目2时没有运行。我也尝试过覆盖和。那没有做任何事情。也尝试过没有,那也没有改变任何事情。 编辑:为什么我可以获得

  • 问题内容: 在阅读 Java 中的自定义注释处理器的代码时,我注意到处理器方法中的这段代码: 碰巧我也在使用自定义注释处理器,所以我想在我的注释处理器中使用上面的代码段。 我以这种方式尝试了上面的代码: & 这条路: 但我没有注意到处理器行为的任何变化。我得到了支票,但看不到有什么用。 我想知道在处理特定回合时有用的用例。 问题答案: 这两项检查都很重要,但是直到在同一项目中一次运行多个注释处理器

  • 主要内容:使用Rem语句注释,注释使用::声明为创建的脚本添加注释或文档总是一个好习惯。 这是一个维护脚本用来理解脚本实际所做的事情所必需的注释。 例如,考虑下面这段没有注释形式的代码。 如果一个没有任何注释的脚本,普通人试图理解脚本,那么需要很多时间来理解脚本做些什么工作。 使用Rem语句注释 有两种方法可以在批处理脚本中创建注释; 一个是通过命令。 语句后的任何文本都将被视为注释,不会被执行。 以下是此声明的一般语法。 语法 其中是需要添