J'obtiens une erreur dans DataBindingMapperImpl.Java pour une liaison de données spécifique qui entraîne l'erreur suivante lors de la construction du projet.
ANTLR Tool version 4.5.3 used for code generation does not match the current runtime version 4.7.1ANTLR Runtime version 4.5.3 used for parser compilation does not match the current runtime version 4.7.1ANTLR Tool version 4.5.3 used for code generation does not match the current runtime version 4.7.1ANTLR Runtime version 4.5.3 used for parser compilation does not match the current runtime version 4.7.1/Users/casper/Documents/ARCore/Name/app/build/generated/source/kapt/nameDebug/com/company/name/DataBinderMapperImpl.Java:10: error: cannot find symbol
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.
suivi du message d'erreur ci-dessous ...
J'ai suivi le message similaire ici qui a abouti à ceci, qui est la fin du message d'erreur ci-dessus.
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)
J'ai aussi essayé
Le fichier de mise en page connecté à la liaison de données ressemble à ceci
<?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">
Solution L'erreur a été causée par une erreur. J'ai défini la visibilité par
Android:visibility="@{viewmodel.errorContainerVisible ? View.VISIBLE : View.GONE}"
et j'ai oublié d'importer
<data>
<import type="Android.view.View"/>
L'erreur s'est produite en raison de la mise à niveau com.google.Android.material:material
de 1.1.0-alpha09
à 1.3.0-alpha01
Dans mon projet, cette erreur a été causée par une requête incorrecte dans l'un de mes DAO de salle. La correction de la requête a supprimé l'erreur.
Il est regrettable que le message d'erreur n'indique pas clairement la source de l'erreur.
J'ai eu la même erreur, dans mon cas, elle était due à de mauvaises importations dans la mise en page xml.J'ai refacturé et changé le nom de mon package mais cela n'a pas changé la même chose à l'intérieur des fichiers xml.Il m'a montré la même erreur.J'ai tout traversé les fragments, les activités et les mises en page pour vérifier s'il y avait des importations incorrectes/des importations manquantes.Après avoir résolu tous les problèmes d'importation et de variable, la construction a réussi.
<data class="MainActivityBinding">
<variable
name="vm"
type="com.abcd.efg.home.MapViewModel" />
</data>
<androidx.drawerlayout.widget.DrawerLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
xmlns:tools="http://schemas.Android.com/tools"
Android:id="@+id/drawer_layout"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:fitsSystemWindows="true"
tools:openDrawer="start">
<androidx.constraintlayout.widget.ConstraintLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<com.google.Android.material.appbar.AppBarLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/includeAppBar"
Android:layout_width="0dp"
Android:layout_height="wrap_content"
Android:theme="@style/AppTheme.AppBarOverlay"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<FrameLayout
Android:id="@+id/toolbar_container"
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:background="@color/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:title="@string/app_name"
app:titleTextColor="@color/white" />
</FrameLayout>
</com.google.Android.material.appbar.AppBarLayout>
<fragment
Android:id="@+id/navigation"
Android:name="androidx.navigation.fragment.NavHostFragment"
Android:layout_width="0dp"
Android:layout_height="0dp"
app:defaultNavHost="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/includeAppBar"
app:navGraph="@navigation/nav_main" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.google.Android.material.navigation.NavigationView
Android:id="@+id/sideNV"
Android:layout_width="wrap_content"
Android:layout_height="match_parent"
Android:layout_gravity="start"
Android:background="@color/drawerBackground"
Android:fitsSystemWindows="true"
Android:shadowColor="@color/white"
app:headerLayout="@layout/nav_header_home"
app:menu="@menu/activity_main_drawer" />
</androidx.drawerlayout.widget.DrawerLayout>