Теперь я искал причины, по которым мой собственный обработчик аннотаций не работает в ОДНОМ из моих проектов. Настройка выглядит следующим образом:
- 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')
}