Обновление Android с версии 1.4 до 1.7
Привет я хотел обновить Android-APT в моем проекте с версии 1.4 до 1.7
В настоящее время я использую автосервис Google 1.0-rc2, поэтому все, что мне нужно было сделать, это поставить @AutoService(Processor.class)
аннотации в моем классе процессора аннотаций.
После обновления android-apt до версии 1.7 мой процессор аннотаций перестал работать. Кажется, он не вызывается во время сборки.
Я думал, что автосервис может быть проблемой. Итак, я сделал resources/META-INF/services/javax.annotation.processing.Processor
файл с содержанием
pl.edu.radomski.navigator.NavigatorAnnotationProcessor
К сожалению, это не помогло вообще.
Если вы хотите увидеть код с android-apt 1.4 и автосервисом 1.0-rc2, он доступен здесь
Есть ли простой способ обновить android-apt и сохранить работу процессора?
Это ошибка auto-service 1.0-rc2 или что-то не так с android-apt?
1 ответ
В 1.7 было внесено изменение, чтобы не создавать автоматически зависимый проект, который установлен как apt
, из-за нежелательных побочных эффектов, влияющих на порядок сборки.
В 1.8 у меня, вероятно, будет лучший способ его поддержать, но пока вы можете настроить apt
блок, чтобы указать, что ваш процессор должен работать следующим образом:
apt {
processor "pl.edu.radomski.navigator.NavigatorAnnotationProcessor"
}
Обратите внимание, что это необходимо только в том случае, если ваш процессор находится в том же проекте, что и ваше приложение или библиотека. Причина в том, что файл в META-INF/services
не читается javac
в этой настройке, потому что проект не упакован в этот момент. Явное добавление processor
заявление добавит процессор, который javac
иначе бы не открыл.