web-dev-qa-db-ja.com

コード生成に使用されるANTLRツールバージョン4.5.3が現在のランタイムバージョン4.7.1と一致しない

特定のデータバインディングのDataBindingMapperImpl.Javaでエラーが発生し、プロジェクトのビルド時に次のエラーが発生します。

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.

続いて以下のエラーメッセージが表示されます...

私は同様の投稿 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)

私も試しました

  1. プロジェクトをクリーンアップしてからプロジェクトを再構築
  2. ファイル->キャッシュの無効化/再起動
  3. Android Studioのオンとオフを切り替える

データバインディングに接続されたレイアウトファイルは次のようになります。

<?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">

解決策エラーは間違いによって引き起こされました。私は可視性を設定しました

Android:visibility="@{viewmodel.errorContainerVisible ? View.VISIBLE : View.GONE}"

インポートするのを忘れた

<data>
    <import type="Android.view.View"/>
16
Casper Lindberg

アップグレードによりエラーが表示されましたcom.google.Android.material:materialから1.1.0-alpha09から1.3.0-alpha01

0
nyxee

私のプロジェクトでは、このエラーは私の部屋DAOの1つでの誤ったクエリが原因で発生しました。クエリを修正するとエラーが削除されました。

残念ながら、エラーメッセージはエラーの原因を明確に示していません。

0
Big McLargeHuge

これは私が解決するのは非常にイライラする問題でした。このエラーが本当の問題をカバーしていたので。上記の@MatPagで述べたように、これは確かに特定の問題に固有のものではなく、何でもかまいません。

何時間もウェブで見つけたものを何回か試してみた後、Android Project View sidebar、そして偶然にdataBindingで生成されたファイルにいくつかのエラーに気づきました。これを解決する方法は、それらのエラーを理解し、XMLファイルで修正することです。私にとっては、変数名の衝突でした。

0
hiddeneyes02

同じエラーが発生しましたが、私の場合、それはxmlレイアウトでの誤ったインポートが原因で発生しました。パッケージ名をリファクタリングして変更しましたが、xmlファイル内の同じものは変更されませんでした。同じエラーが表示されました。フラグメント、アクティビティ、およびレイアウトで、間違ったインポート/欠落したインポートがないかどうかを確認します。すべてのインポートと変数の問題をクリアした後、ビルドは成功しました。

<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>
0
Abraham Mathew