У меня был тот же вопрос сегодня.
Проблема заключается в самом имени вашего пакета.Вы упомянули:
в моем проекте нет класса Helper, это имя пакета.Пакет существует, но привязка данных не может его найти.
Краткий ответ:
Измените имя пакета, которое начинается со строчной буквы.Проблема возникает из-за того, что ваше имя пакета Helper
.Измените его на helper
.
Длинный ответ:
В плагине Android 3.2.0 и выше привязка данных V2 включена по умолчанию.Я предполагаю, что компилятор V2 для привязки данных обрабатывает любой компонент, который начинается с заглавной буквы как класс, а не пакет.На самом деле он ищет класс с именем Helper
, а не пакет Helper
.
Поскольку ранее вы использовали Android 3.1.2, который использует компилятор привязки данных V1, имя пакета не было проблемой.
Я переименовал все имена своих пакетов (папок) в своем проекте, чтобы начать со строчной буквы, и проект был наконец скомпилирован.Обязательно используйте инструмент рефакторинга (Shift + F6)
при переименовании пакетов, чтобы изменение можно было применить и к вашим XML-файлам !!
БОНУС:
На всякий случай, если вы хотите, чтобы имена пакетов начинались с заглавных букв, но также хотите использовать плагин Android 3.2.0 (которыйне очень рекомендуется), перейдите в gradle.properties в корневой папке и добавьте эту строку.Это отключает компилятор databindingV2 и вынуждает проект использовать старый компилятор V1.Поэтому имя вашего класса не имеет значения.
android.databinding.enableV2 = false
Но зачем кому-то это делать?: /