Cas*_*erg 56 data-binding android kotlin antlr4 android-studio
我在 DataBindingMapperImpl.java 中收到一个特定数据绑定的错误,这导致在构建项目时出现以下错误。
用于代码生成的 ANTLR 工具版本 4.5.3 与当前运行时版本 4.7.1 不匹配。
用于解析器编译的 ANTLR 运行时版本 4.5.3 与当前运行时版本 4.7.1 不匹配用于代码生成的 ANTLR 工具版本 4.5.3 与当前运行时版本 4.7.1
不匹配 用于解析器编译的 ANTLR 运行时版本 4.5.3 与当前运行时版本 4.7.1
/Users/casper/Documents/ARCore/Name /app/build/generated/source/kapt/nameDebug/com/company/name/DataBinderMapperImpl.java:10: 错误:找不到符号
import com.company.name.databinding.ActivitySplashScreenBindingImpl;
^
symbol: class ActivitySplashScreenBindingImpl
> Task :app:kaptNameDebugKotlin FAILED
> Task :app:mergeExtDexNameDebug
location: package com.company.name.databinding
FAILURE: Build failed with an exception.
Run Code Online (Sandbox Code Playgroud)
然后是下面的错误消息...
我遵循了导致此问题的类似帖子here,这是上述错误消息的结尾。
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:kaptNameDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
> java.lang.reflect.InvocationTargetException (no error message)
Run Code Online (Sandbox Code Playgroud)
我也试过
连接到数据绑定的布局文件如下所示
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
<variable
name="viewmodel"
type="com.company.name.ui.splashScreen.viewModel.SplashScreenViewModel"/>
<variable
name="tryAgainBtnHandler"
type="com.company.name.ui.splashScreen.viewModel.interfaces.TryAgainBtnHandler"/>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.splashScreen.view.SplashScreenActivity">
Run Code Online (Sandbox Code Playgroud)
该错误是由错误引起的。我确实设置了可见性
android:visibility="@{viewmodel.errorContainerVisible ? View.VISIBLE : View.GONE}"
Run Code Online (Sandbox Code Playgroud)
忘记导入了
<data>
<import type="android.view.View"/>
Run Code Online (Sandbox Code Playgroud)
Mat*_*Pag 63
免责声明:
下面的修复旨在解决具有某些依赖项冲突的特定问题,大多数数据绑定问题都可能导致此错误,但这只是错误的 XML 或代码的结果,在这种情况下,下面的解决方案将不起作用。在尝试以下解决方案之前,请仔细检查您的 XML/代码正确性。
这是一些数据绑定版本(嵌入在Android Studio 中)和其他依赖项(例如Room
导入不同版本的org.antlr:antlr4
库)的已知问题。
更新:12/06/2020(日/月/年)
如果您使用 Room,更新到Room 2.3.0-alpha01或更高版本应该会消除错误,因为他们已在此处解决了问题:https : //issuetracker.google.com/issues/150106190
将此配置放入应用程序中 build.gradle
//groovy
configurations.all {
resolutionStrategy.force "org.antlr:antlr4-runtime:4.7.1"
resolutionStrategy.force "org.antlr:antlr4-tool:4.7.1"
}
//kotlin DSL
configurations.all {
resolutionStrategy {
force("org.antlr:antlr4-runtime:4.7.1")
force("org.antlr:antlr4-tool:4.7.1")
}
}
Run Code Online (Sandbox Code Playgroud)
如果还是有问题,可以尝试使用
4.5.3
上面的版本,而不是4.7.1
降级库
归档时间: |
|
查看次数: |
32814 次 |
最近记录: |