Не удалось инициализировать класс android.databinding.parser.XMLLexer - PullRequest
0 голосов
/ 26 сентября 2019

После включения Android DataBinding я продолжал получать это сообщение об ошибке:

Could not initialize class android.databinding.parser.XMLLexer

Caused by: java.lang.ExceptionInInitializerError
    at android.databinding.tool.store.LayoutFileParser.parseOriginalXml(LayoutFileParser.java:130)
    at android.databinding.tool.store.LayoutFileParser.parseXml(LayoutFileParser.java:93)
    at ...
Caused by: org.antlr.v4.runtime.RuntimeMetaData$VersionMismatchException: ANTLR Tool version 4.5.3 used for code generation does not match the current runtime version 4.3
    at org.antlr.v4.runtime.RuntimeMetaData.checkVersion(RuntimeMetaData.java:397)
    at android.databinding.parser.XMLLexer.<clinit>(XMLLexer.java:14)
    ... 102 more

1 Ответ

0 голосов
/ 26 сентября 2019

Если вы находитесь в одной лодке, проверьте, есть ли у вас другие зависимости, использующие ANTLR.В моем случае модуль java зависел от устаревшего com.github.jknack:handlebars:2.0.0.Обновление зависимости до последней версии, наконец, исправило мою проблему.

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

android {
    ...

    dataBinding {
        enabled = true
    }
}

в каждом модуле Android.

...