4

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

  • 安卓工作室 2.3.3
  • gradle 构建工具 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')
}
4

2 回答 2

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

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

于 2018-01-31T15:03:51.837 回答
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
于 2020-12-30T07:15:34.950 回答