Ошибка AndroidX: в зависимостях доступны как старые, так и новые пакеты привязки данных - PullRequest
0 голосов
/ 16 января 2019

Я уже обновил gradle.properties добавление файла:

android.useAndroidX=true
android.enableJetifier=true

Но у меня есть эта ошибка:

e: [kapt] An exception occurred: android.databinding.tool.util.LoggedErrorException: failure, see logs for details.
AndroidX Error: Both old and new data binding packages are available in dependencies. Make sure you've setup jettifier  for any data binding dependencies and also set android.useAndroidx in your gradle.properties file.
    at android.databinding.tool.util.L.printMessage(L.java:134)
    at android.databinding.tool.util.L.e(L.java:107)
    at android.databinding.tool.Context.discoverAndroidX(Context.kt:62)

Ответы [ 4 ]

0 голосов
/ 11 августа 2019

Когда это происходит после миграции ... просто удалите каталоги build, в которых хранятся сгенерированные источники (даже если все артефакты были заменены в build.gradle, сгенерированные привязки данных могут все еще присутствовать в эти источники - вызывая это двойное предупреждение).

0 голосов
/ 07 августа 2019
android.databinding.enableV2=true

добавьте эту строку в файл gradle.properties.

Кроме того, фрагмент вашего файла build.gradle (app) будет очень полезен.

0 голосов
/ 08 августа 2019

Даже если вы включите использование AndroidX

android.useAndroidX=true
android.enableJetifier=true

и привязка данных

android {
    ...
    ...
    dataBinding {
        enabled = true
    }

}

у вас все еще будут проблемы, связанные с зависимостями.

Я предлагаю вам выполнить рефакторинг и автоматическое изменение всего необходимого импорта в Android X, чтобы избежать подобных проблем.

Выберите ваш проект, иди Refactor> Migrate to AndroidX

enter image description here

0 голосов
/ 06 августа 2019

Ошибка AndroidX: в зависимостях доступны как старые, так и новые пакеты привязки данных.

Эта ошибка означает, что вы еще не преобразовали все свои старые зависимости в их новые соответствующие зависимости.

На этой официальной странице есть список сопоставлений артефактов. Вам необходимо определить ваши старые зависимости и заменить их на новые, как показано на странице выше.

Например -

com.android.support:cardview-v7 доступно в androidx.cardview:cardview:1.0.0 com.android.support:support-v4 - androidx.legacy:legacy-support-v4:1.0.0

как только вы измените все зависимости на новые артефакты, ваша ошибка разрешится. Если вам нужно знать об AndroidX, вот подробный ответ .

...