Привязка к данным не работает после обновления до подключаемого модуля 2.3

После обновления до classpath 'com.android.tools.build:gradle:2.3.0' и переходя на встроенный процессор аннотаций, я получил следующую ошибку для всех сгенерированных DataBinding классов:

  :app:compileInternalDebugJavaWithJavac
  E:\Projects\Work-projects\mediteo-android\app\src\main\java\com\mediteo\mobile\presentation\daily\intake\adapter\DailyIntakeItem.java:18: error: package com.mediteo.mobile.databinding does not exist
  import com.mediteo.mobile.databinding.DailyIntakeHeaderItemBinding;
                                 ^
  E:\Projects\Work-projects\mediteo-android\app\src\main\java\com\mediteo\mobile\presentation\daily\intake\adapter\DailyIntakeItem.java:19: error: package com.mediteo.mobile.databinding does not exist
  import com.mediteo.mobile.databinding.DailyIntakeItemBinding;
  ........
  Error:A default public constructor with no argument must be declared in IntakeLocal if a custom constructor is declared.
  * What went wrong:
  Execution failed for task ':app:compileInternalDebugJavaWithJavac'.
  > Compilation failed; see the compiler error output for details.

Однако я могу перейти к этим файлам в Android Studio IDE

  public class DailyIntakeHeaderItemBinding extends android.databinding.ViewDataBinding  { 
  ........

3 ответа

У меня была та же ошибка, и я мог ее исправить, добавив в зависимости build.gradle приложения:

apt 'com.android.databinding:compiler:2.3.0'

Для меня проблема была в новой команде обработки аннотаций annotationProcessor Стоит обратить внимание на все библиотеки, которые использовали apt (сейчас annotationProcessor) Коренная причина была Error:A default public constructor with no argument must be declared in IntakeLocal if a custom constructor is declared., это кинжал ошибки.

Чтобы это исправить, я должен обновить lombok до последней версии:org.projectlombok:lombok:1.16.14

Попробуйте аннулировать кэши / перезапустить. Или может быть чистой сборки.

Другие вопросы по тегам