Обработчик аннотаций не работает - файлы не создаются

Теперь я искал причины, по которым мой собственный обработчик аннотаций не работает в ОДНОМ из моих проектов. Настройка выглядит следующим образом:

  • Android Studio 2.3.3
  • инструменты сборки gradle 2.3.3
  • процессор аннотаций включен в студии Android

Я пробовал общие решения:

  • удалить мой проект из последних обновлений Android Studio
  • аннулировать кеш и перезапустить студию Android
  • снова импортировать мой проект в студию Android (убедитесь, что обработка аннотаций включена ранее)

Ничего не помогает. У меня есть обработка аннотаций, работающая в другом проекте, и я сравнил ее с этим. Единственная разница в том, что я использую котлин в другом проекте. Поэтому я просто добавил в свой новый проект следующее:

Котлин и 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')
}

person prom85    schedule 22.08.2017    source источник


Ответы (2)


  1. Android Studio - Файл - Закрыть проект
  2. Настроить - Настройки - Сборка, Выполнение, Развертывание - Компилятор - Обработчики аннотаций - Включить обработку аннотаций.
  3. Откройте Project - Build - Rebuild Project.

Если не помогает - воссоздайте проект.

person Zon    schedule 31.01.2018

  1. Добавьте следующее в файл build.gradle проекта, используя аннотацию

     
         plugins {
             id 'kotlin-kapt'
         }
     
     
  2. Добавьте зависимость процессора аннотаций, как показано ниже

     
         dependencies {
             implementation project('::bundleargs-annotation')
             kapt project(':bundleargs-processor')
         }
  3. Очистить ›Сборка

Эти шаги должны запускать сгенерированные файлы в указанной ниже папке.

build > generated > source > kapt > build variant
person Nilesh Tiwari    schedule 30.12.2020