2015-09-12 3 views
1

Привет Я хотел обновить в моем проекте андроид-APT от версии 1,4 до 1.7Android склонный обновление от 1,4 до 1,7 версии

В настоящее время я использую Google автосервисе 1.0-RC2, так что все, что мне нужно было сделать, это добавить аннотацию @AutoService(Processor.class) в класс обработчиков аннотаций.

После обновления андроид-склонный к 1,7 версии мой процессор аннотаций перестал работать. Кажется, он не вызывается во время сборки.

Я думал, что авто-сервис может быть проблемой. Так что я сделал resources/META-INF/services/javax.annotation.processing.Processor файл с содержанием

pl.edu.radomski.navigator.NavigatorAnnotationProcessor 

К сожалению, это не помогло вообще.

Если вы хотите увидеть код с андроид-меткому 1,4 и автосервиса 1.0-RC2 он доступен here

Есть ли простой способ обновить андроид-склонные и держать процессор работает ?

Является ли это автосервис 1,0-код2 вина или что-то не так с андроид-меткому?

ответ

2

В 1.7 было внесено изменение, чтобы автоматически не строить зависимый проект, который установлен как apt, из-за нежелательных побочных эффектов, влияющих на порядок сборки.

В 1,8 я, вероятно, лучший способ поддержать его, но в то же время вы можете настроить apt блок, чтобы указать, что ваш процессор должен работать так:

apt { 
processor "pl.edu.radomski.navigator.NavigatorAnnotationProcessor" 
} 

Обратите внимание, что это требуется только в том случае, если ваш процессор находится в том же проекте, что и ваше приложение или библиотека. Причина в том, что файл в META-INF/services не читается javac в этой настройке, потому что проект не упакован в эту точку. Явное добавление оператора processor добавит процессор, который javac иначе не обнаружит.

Смежные вопросы