AndroidX, Autovalue support.annotations неправильная зависимость

У меня есть проект Android, который использует Autovalue для создания некоторых своих моделей. Я пытаюсь перейти от старых com.android.support.* к новым зависимостям androidx.*.

Я знаю, что в Android Gradle Plugin 3.2+ он пытается заменить все вхождения старых зависимостей поддержки, но, похоже, это не распространяется на интерфейсы, созданные Autovalue. Эти интерфейсы по-прежнему ссылаются на android.support.annotation.NonNull и android.support.annotation.Nullable, а не на androidx.annotation.*.

'com.android.tools.build:gradle:3.2.1'

implementation "com.google.auto.value:auto-value-annotations:1.6.2"
annotationProcessor "com.google.auto.value:auto-value:1.6.2"

androidx version - 1.0.0

У меня очень мало опыта работы с этими процессорами аннотаций, если есть какая-либо другая информация, которая может иметь значение, сообщите мне.

Спасибо за ваши предложения.

2
0
183
1

Ответы 1

Убедитесь, что ваш файл gradle.properties включает эти параметры, рекомендованные в руководство по миграции, которые позволят системе сборки Android перенести для вас зависимости Maven, которые не были перенесены в пространство имен AndroidX:

android.useAndroidX=true
android.enableJetifier=true

Кроме того, гид пользователя для AutoValue рекомендует использовать API вместо реализации/компиляции для проектов Android.

Я попытался настроить параметры, перечисленные выше, но они не решили проблему, кажется, что они применяются до создания классов Autovalue или игнорируют эти классы. Спасибо, что указали на проблему с api, я попробую и вернусь к вам.

Shooky 26.02.2019 18:19

К сожалению, использование API ничего не меняет. Сгенерированные зависимости по-прежнему используют android.support.annotation.

Shooky 26.02.2019 19:18

Другие вопросы по теме