Проблемы при обновлении библиотеки поддержки до v28 или androidx - PullRequest
0 голосов
/ 08 октября 2018

Я работаю над проектом Android, где использую:

com.android.tools.build:gradle 3.1.3
org.jetbrains.kotlin:kotlin-gradle-plugin 1.2.50
com.google.gms:google-services 3.2.0

compileSdkVersion 27
minSdkVersion 21
targetSdkVersion 27 

com.google.dagger:dagger  2.12
com.google.dagger:dagger-android-support 2.12
com.android.support:appcompat-v7 27.1.1

Проект выполнен с использованием Kotlin и Databinding.

Если я обновляю compileSdkVersion и targetSdkVersion до 28, проект компилируется.

Но затем, когда я пытаюсь обновить до Androidx или AppCompat Library V7 28.0.0 и после исправления всех зависимостей, я обычно заканчиваюдо получения следующих ошибок:

  symbol:   class DataBindingComponent
  location: class SomeProjectClassBinding
  e: /Users/a/project/databinding/SomeProjectClassBinding.java:76: 
  error: cannot find symbol
      @Nullable DataBindingComponent component) { ...

Я пробовал несколько вещей, в том числе:

  • Используя kapt "com.android.databinding: compiler", а также не используя его.По умолчанию у меня нет этой строки, так как я прочитал, она уже включена в Android Studio 3.2.

  • Хотя я использую Android Studio 2.3, я попробовал 3.3 Canary 13.

  • Я попытался обновить com.android.tools.build:gradle до 3.3.0-alpha13

  • Я попытался удалить org.gradle.jvmargs из gradle.properties.

  • Я попытался обновить ext.kotlin_version до 1.2.71

  • Я попытался запустить gradle из терминала, чтобы я мог получить деревья зависимостей, но яне смог найти ничего необычного.

  • Я пытался очистить и перестроить проект.

После обновления всех зависимостей проекта до последней версии я не получаю никаких предупреждений от AndroidStudio, но проект не компилируется из-за ошибки, упомянутой выше.

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

  • Последняя версия API Android, т.е. 28

  • Последняя версия библиотеки поддержки или Jetpack

  • Последняя версия Dagger

  • Привязка данных

  • Kotlin

Также мы знаем, еслипоследние версии этих программ совместимы друг с другом, например Android API 28 или Androidx с Dagger 2.17.

...