【问题标题】:Annotation processor not working - no files are created注释处理器不工作 - 没有创建文件
【发布时间】:2018-01-31 05:39:57
【问题描述】:

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

  • 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 android-studio build.gradle android-build annotation-processor


    【解决方案1】:
    1. Android Studio - 文件 - 关闭项目
    2. 配置 - 设置 - 构建、执行、部署 - 编译器 - 注释处理器 - 启用注释处理。
    3. 打开项目 - 构建 - 重建项目。

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

    【讨论】:

      【解决方案2】:
      1. 使用注解在项目的build.gradle文件中添加以下内容

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

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

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

      build > generated > source > kapt > build variant
      

      【讨论】:

        猜你喜欢
        • 2019-12-21
        • 2018-07-05
        • 1970-01-01
        • 1970-01-01
        • 2020-02-14
        • 2021-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多