注释处理器不工作 - 没有创建文件

时间:2017-08-22 19:59:41

标签: android android-studio build.gradle android-build annotation-processor

我现在已经搜索了我自己的注释处理器在我的一个项目中没有工作的原因。安装程序如下所示:

  • Android Studio 2.3.3
  • gradle build tools 2.3.3
  • 注释处理器在android studio
  • 中启用

我尝试了常见的解决方案:

  • 从Android Studio最近删除我的项目
  • 使缓存无效并重新启动android studio
  • 再次将我的项目导入android studio(确保之前启用了注释处理)

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

Kotlin和apply plugin: 'kotlin-android'以及突然的注释处理工作。为什么?我还没有找到任何关于这个的东西,但在我的情况下,注释处理不再起作用(在旧的Android版本中它肯定,但不确定它何时破坏)而不应用kotlin插件...

据我所知,我不必应用注释处理器插件,对吗?我错过了别的什么吗?

示例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')
}

2 个答案:

答案 0 :(得分:2)

  1. Android Studio - 文件 - 关闭项目
  2. 配置 - 设置 - 构建,执行,部署 - 编译器 - 注释处理器 - 启用注释处理。
  3. 打开项目 - 构建 - 重建项目。
  4. 如果没有帮助 - 重新创建项目。

答案 1 :(得分:0)

  1. 使用注解在项目的 build.gradle 文件中添加以下内容

     
         plugins {
             id 'kotlin-kapt'
         }
     
     
  2. 添加注解处理器依赖如下

     
         dependencies {
             implementation project('::bundleargs-annotation')
             kapt project(':bundleargs-processor')
         }
  3. 清理 > 构建

这些步骤应该会触发以下文件夹下的生成文件

build > generated > source > kapt > build variant