Процессор аннотаций не работает - файлы не создаются
Сейчас я искал причины, по которым мой собственный процессор аннотаций не работает в ОДНОМ из моих проектов. Настройка выглядит следующим образом:
- Android Studio 2.3.3
- Инструменты сборки Gradle 2.3.3
- процессор аннотаций включен в Android Studio
Я попробовал общие решения:
- удалить мой проект из последних версий Android Studio
- сделать недействительным кеш и перезапустить андроид студию
- снова импортировать мой проект в Android Studio (убедитесь, что обработка аннотаций была включена ранее)
Ничего не помогает Я обработал аннотацию, работающую в другом проекте, и сравнил ее с этим. Разница лишь в том, что я использую 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 ответа
- Android Studio - Файл - Закрыть проект
- Конфигурировать - Настройки - Построение, Выполнение, Развертывание - Компилятор - Процессоры аннотаций - Включить обработку аннотаций.
- Открытый проект - построить - восстановить проект.
Если это не поможет - пересоздай проект.
Добавьте следующее в файл build.gradle проекта, используя аннотацию.
plugins { id 'kotlin-kapt' }
Добавьте зависимость процессора аннотаций следующим образом
dependencies { implementation project('::bundleargs-annotation') kapt project(':bundleargs-processor') }
Очистить > Построить
Эти шаги должны запускать сгенерированные файлы в папке ниже
build > generated > source > kapt > build variant