Android Databinding: пакет не существует
Я больше не могу построить мой проект. Я получил эту ошибку :
мой" ошибка: (13, 46) ошибка: пакет ch.компания.проект.привязка данных не exist"
gradle
:
и
Помогите, я застрял на 2 дня = (я пробовал все
9 ответов
благодаря Yigit!
проблема не была напрямую связана с привязкой данных Android. В проекте была ошибка (некоторые переменные неправильно настроены)
Я бы рекомендовал использовать gradle с "--debug and --stacktrace" для получения дополнительной информации, это помогает много.
ошибка не является пакетом привязки данных, это синтаксическая или логическая ошибка. Например, у вас есть атрибут "lastName" в вашем POJO, но в макете это android:text="@{user.lastname}"
.
проверьте свой "макет" и выполните перестроение проекта.
У меня были похожие проблемы с моим проектом
вы можете попробовать:
- проверьте xml-файлы на наличие ошибок, которые вызывают сбой сборки
- очистить проект
- File -- invalidate caches / restart
в моем конкретном случае я использовал Dagger 2. Эта ошибка пакета появляется во многих классах без какой-либо связи с исходной ошибкой: ошибкой инъекции зависимостей.
Happy reminder: прокрутите больше на вашем stacktrace, чтобы узнать, в чем настоящая проблема.
Я застрял с той же ошибкой в течение нескольких часов. Попробовав несколько решений из stackoverflow, я обновил свой проект со стабильными зависимостями gradle.
все еще не было решено, однако с той же зависимостью gradle DataBinding
отлично работал в другом моем проекте.
Итак, я пошел в папку проекта с помощью explorer и удалены 2 вещи.
- создать папку
- все файлы из .идея/библиотеки
после этого я синхронизировал проект и он продолжает работать нормально.
Я получил ошибку:
Ошибка:(9, 46) ошибка: пакет com.компания.всемирная паутина.бар.привязка данных не существовать.
Я просто убрать знак"=". это сработало для меня
из этого :
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="@={()->activity.onButtonClick()}"/>
в :
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="@{()->activity.onButtonClick()}"/>
убедитесь, что поля вашей модели, на которые вы ссылаетесь в макете, имеют public
модификаторы доступа
Я не удовлетворен принятым ответом, который говорит вам, чтобы стек трассировки без намеков.
вот некоторые возможные причины, которые приводят к этой проблеме. проверьте, не делаете ли вы чего-либо из следующего.
в принципе Android DataBinding и не это зрелые по-прежнему. Это будет выполнена без соответствующих ошибок много раз.
так что если у вас есть такая проблема, как package ch.company.project.databinding does not exist"
.
возможные причины неудач:
- в первую очередь Регистрация код недавно отредактированные макеты xml один за другим ошибок (неправильный
imports
&variables
). Обычно я не получаю правильную ошибку в этом случае. - Регистрация ваша привязка данных синтаксис в обязательный блок ({...}) in планировка элемент для ошибок. всегда восстановить (не Build) проект после работы в одном макете.
- Проверьте
@BindingAdapter
метод с правильными параметрами. НапримерimageUrl
адаптер привязки будет приниматьImageView
илиView
в качестве первого параметра. вы всегда должны восстановить проект после выполнения работы в одном планировка.
-
если вы не можете найти ошибки выше действия, то попробуйте
--debug and --stacktrace
в компиляции вариантFile> Settings> Build, Execution, Deployment> Compiler> Command-line Options
чтобы избавиться от этой ошибки, просто заключите свой полный дизайн макета внутри простого тега макета в .
потратив много часов на поиск решения, это сработало для меня. Попробуй.