Я написал процессор аннотаций с использованием библиотеки JavaPoet и включил его в качестве Java модуля библиотеки в свой проект. Он компилируется и работает нормально. Проблема в том, что * Android Встроенный компилятор Studio показывает мне ошибки, которых не должно быть.
- Почему-то не распознает многоточие в параметрах
- То же, что и выше.
- Это показывает, что не существует метода writeTo, который принимает тип Filer в качестве параметра, хотя он явно используется при выборе Go To> Объявление параметра. И, как я уже говорил, это прекрасно компилируется.
Я уже пробовал:
- Проект очистки и восстановления - не работал
- Синхронизация нескольких градел раз - не работает
- Обновление проекта gradle - не работает
- Использование файла> Недействительный параметр кэширования / перезапуска - не работает
- Удаление папок .gradle и .idea и повторная синхронизация - не работает
- Удаление модуля Java Library из проекта и с диска и создания его заново с теми же классами - тоже не сработало
Всегда одни и те же три ошибки, так что я в полном недоумении. Я должен упомянуть, что эта проблема возникла, когда я понизил версию JavaPoet с 1.12.1 до 1.9.0 (совместимость Java 7 оказалась критической для моей версии приложения, поэтому более высокие версии Java 8 вне вопроса). Мой файл Gradle:
apply plugin: 'java-library'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
annotationProcessor 'com.google.auto.service:auto-service:1.0-rc2'
implementation 'com.google.auto.service:auto-service:1.0-rc2'
implementation 'android.arch.persistence.room:runtime:1.1.1'
implementation 'com.squareup:javapoet:1.9.0'
}
sourceCompatibility = 1.7
targetCompatibility = 1.7
Это не договор, но это отвлекает и раздражает. Вы хоть представляете, что может быть причиной такого поведения?