Не удается найти символ DataBindingComponent после миграции AndroidX - PullRequest
0 голосов
/ 27 сентября 2018

После переноса всего моего проекта на Android x я больше не могу его скомпилировать.

Я получаю 100 следующих ошибок:

e: M:\tmp\EverywhereLauncher\app\generated\data_binding_base_class_source_out\devWithoutTestWithAccessibilityDebug\dataBindingGenBaseClassesDevWithoutTestWithAccessibilityDebug\out\com\my\app\databinding\ActivityMainBinding.java:52: error: cannot find symbol
      @Nullable ViewGroup root, boolean attachToRoot, @Nullable DataBindingComponent component) {
                                                                ^
  symbol:   class DataBindingComponent
  location: class ActivityMainBinding

Я не знаю, гдепродолжить.

У меня сейчас две проблемы.

  • Я вижу только 100 ошибок
  • все ошибки одинаковы и, вероятно, скрывают настоящую ошибку

То, что я пробовал:

  • У меня есть следующие в моих проектах build.gradle, чтобы увеличить количество напечатанных ошибок до 10000:

    gradle.projectsEvaluated {
            tasks.withType(JavaCompile) {
                options.compilerArgs << "-Xmaxerrs" << "10000"
            }
        }
    

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

Любые идеи, что я мог бы сделать дальше?

Дополнительно

  • Я использую следующие

    android.enableJetifier=true
    android.useAndroidX=true
    
  • Я использую Android Studio 3.2, с kotlin 1.2.61 и 3.3.0-alpha01 Инструменты сборки Gradle

  • Я использую 3.3.0-alpha01 инструменты сборки Gradle, потому что я также использую evernote com.evernote:android-state, что не так - проблема объясняется здесь: https://github.com/evernote/android-state/issues/56

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Я также получил эту ошибку после обновления до androidx, перепробовал все, что было предложено в нескольких сообщениях о переполнении стека, наконец, обновление до плагина gradle 3.3.0-beta03 сработало

0 голосов
/ 28 сентября 2018

РЕШЕНИЕ - увеличение зарегистрированных ошибок

В прошлом в файле build.gradle было достаточно следующего:

gradle.projectsEvaluated {
    tasks.withType(JavaCompile.class) {
        options.compilerArgs << "-Xmaxerrs" << "10000"
    }
}

С kotlin, следующее поможет:

afterEvaluate {
    if (project.plugins.hasPlugin("kotlin-kapt")) {
        kapt {
            javacOptions {
                option("-Xmaxerrs", 10000)
            }
        }
    }
}

РЕАЛЬНЫЙ ВЫПУСК

В моем случае я преобразовал класс из Java в Kotlin с некоторыми полями, такими как:

@Arg
Integer someValue;

Конвертер создал следующее:

@Arg
internal var someValue: Int? = null

Проблема:

internal не работает с аннотацией, поэтому произошел сбой, но в журнале были показаны только ошибки привязки данных ...

Пример проекта build.gradle

https://gist.github.com/MFlisar/eca8ae6c2e6a619913ab05d503a4368f

...