Android Databinding: пакет не существует

Я больше не могу построить мой проект. Я получил эту ошибку :

" ошибка: (13, 46) ошибка: пакет ch.компания.проект.привязка данных не exist"

мой gradle :

http://pastebin.com/dkXd1Mxr

и

http://pastebin.com/n9hkFWGQ

Помогите, я застрял на 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 вещи.

  1. создать папку
  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


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

потратив много часов на поиск решения, это сработало для меня. Попробуй.