Android студия 3.1 не распознает обработку аннотаций jar
Я пытаюсь внедрить свой собственный процессор аннотаций в мой проект студии Android. Все работает хорошо и компилируется, пока я не добавлю эту простую строку в блок build.gradle зависимости:
dependencies {
.
.
.
annotationProcessor(':processor')
}
В этот момент я получаю эту ошибку при компиляции:
Не удалось найти процессор. Требуется: project:app Поиск в файлах build.gradle
Я следовал бесконечным урокам и, похоже, ничто не поможет. Я только недавно обновился до AS 3.1 и думаю, может быть, это связано?
Вот структура проекта: (обратите внимание - здесь я добавляю процессор аннотаций в виде jar-файла. Я также прикрепил изображение, пытаясь сделать это как другой модуль и с тем же результатом)
Вот другое, я пытаюсь добавить его - создание процессора аннотаций в том же проекте с другим модулем и до сих пор не идет:
Некоторая дополнительная информация в фото... Структура проекта:
app.build:
processor.build:
аннотация:
Основная деятельность:
Реализация процессора:
1 ответ
Если у вас есть все внутри одного и того же артефакта - процессор аннотаций, его аннотации и классы библиотек, используемые пользователями процессоров, плагин Android Gradle требует, чтобы вы объявили две зависимости от одного и того же артефакта:
annotationProcessor project(':processor')
compile project(':processor')
или же
annotationProcessor files('libs/processor.jar')
compile files('libs/processor.jar')
Обратите внимание, что в будущем такая настройка может не поддерживаться. Желательно разделить ваш процессор на отдельный модуль и сделать так, чтобы он зависел от остального кода. После этого вы сможете объявить зависимости следующим образом:
annotationProcessor project(':processor') // processor-only jar
compile project(':processor-api') // annotations and classes for user code