我现在已经搜索了为什么我自己的注释处理器在我的一个项目中不起作用的原因。设置如下所示:

  • Android Studio 2.3.3
  • gradle 构建工具 2.3.3
  • 注释处理器在 android studio
  • 中启用

    我尝试了常见的解决方案:
  • 从最近的 Android Studio 中删除我的项目
  • 使缓存失效并重新启动 android studio
  • 再次将我的项目导入 android studio(确保之前启用了注释处理)

  • 没有任何帮助。我在另一个项目中进行了注释处理,并将其与这个项目进行了比较。唯一的区别是我在另一个项目中使用了 kotlin。所以我只是在我的新项目中添加了以下内容:

    Kotlin 和 apply plugin: 'kotlin-android' 以及突然的注释处理工作。为什么?我还没有找到任何关于此的信息,但在我的情况下,如果不应用 kotlin 插件,则注释处理不再起作用(在较旧的 android 版本中它确实起作用,但不确定它何时损坏)...

    据我所知,我不必应用注释处理器插件,对吗?我还缺少其他东西吗?

    示例 build.gradle :
    apply plugin: 'com.android.library'
    apply plugin: 'me.tatarka.retrolambda'
    apply plugin: 'kotlin-android'
    
    android {
    
        if (project.hasProperty('setup.compileSdk'))
        {
            compileSdkVersion setup.compileSdk
            buildToolsVersion setup.buildTools
            defaultConfig {
                minSdkVersion setup.minSdk
                targetSdkVersion setup.targetSdk
            }
        }
        else
        {
            compileSdkVersion 26
            buildToolsVersion "26.0.1"
            defaultConfig {
                minSdkVersion 21
                targetSdkVersion 26
            }
        }
    
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    
        dataBinding.enabled = true
    
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    
        retrolambda {
            jvmArgs '-noverify'
        }
    }
    
    dependencies {
    
        // dependencies...
    
        compile project(':bundleargs-annotation')
        annotationProcessor project(':bundleargs-processor')
    }
    

    最佳答案

  • Android Studio - 文件 - 关闭项目
  • 配置-设置-构建、执行、部署-编译器-注释处理器-启用注释处理。
  • 打开项目 - 构建 - 重建项目。

  • 如果没有帮助 - 重新创建项目。

    10-08 17:44