Не удается разрешить привязку androidx.datab - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь перенести свое приложение на AndroidX, следуя официальному документу .Я запускаю опцию рефакторинга: мигрировать на AndroidX .

Сначала у меня были ошибки, которые были устранены путем перезапуска и очистки моего проекта.Затем у меня возникла проблема STRING_TOO_LARGE (см. Этот вопрос переполнения стека ), которую я решил, понизив инструменты сборки Gradle до 3.1.3.

Но теперь я борюсь с привязкой данных,Инструмент миграции заменил все мои

import android.databinding.**

на

import androidx.databinding.**

, но у меня появляется сообщение об ошибке

не удается разрешить androidx.databinding.

Есть ли что-нибудь, что я должен сделать, чтобы заставить его работать?


Я попытался вернуться к старому databinding, установив обратно

import android.databinding.**

Вместо этогоиз androidx, но у меня возникает ошибка с LiveData, используемым внутри макета xml:

не может найти установщик атрибута с типом параметра androidx.lifecycle.MutableLiveData.

Ответы [ 3 ]

0 голосов
/ 11 октября 2018

Привязка данных имеет очень странную проблему: если у вас есть какая-то синтаксическая ошибка или ошибка импорта, будет показано 100 ошибок привязки, но не фактическая ошибка.

Что вы можете сделать

Откройте каждый xml-файл, а затем java-файл вашей работы и посмотрите, есть ли неразрешенные операции импорта или ошибки.Если вы обнаружите какую-то ошибку, решите и создадите проект, классы привязки данных будут генерироваться только при успешной сборке.

Я хорошо объяснил это в моем @ этом ответе .

0 голосов
/ 21 ноября 2018

Напишите ниже код в Gradle

android {
...
dataBinding {
    enabled = true
}
}
0 голосов
/ 11 октября 2018

Androidx.databinding является правильным пакетом, для будущих проблем вы можете посмотреть сопоставления здесь: https://developer.android.com/jetpack/androidx/migrate#migrate.

У Android Studio, похоже, возникают проблемы при переключении веток или проектов, которые есть и не являютсяхотя мигрировал.На данный момент единственное исправление, которое работает для меня, - это очистить gradle, а затем перезапустить андроид студию (либо после переключения веток, либо после миграции)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...