突然我开始得到这个错误,我不知道为什么如果有人告诉我这个错误在哪里,就足够有帮助了。正如我所能得到的,这是因为android studio的新更新。 我得到的错误的详细总结。

Task :app:kaptDebugKotlin
    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.1C:\Users\shubh\Downloads\MarginCalculator\app\build\generated\source\kapt\debug\com\kotlin_developer\margincalculator\DataBinderMapperImpl.java:10: error: cannot find symbol
    import com.kotlin_developer.margincalculator.databinding.FragmentCalculatorScreenBindingImpl;

    symbol:   class FragmentCalculatorScreenBindingImpl

    Task :app:kaptDebugKotlin FAILED
    location: package com.kotlin_developer.margincalculator.databinding
    FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
   > java.lang.reflect.InvocationTargetException (no error message)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 17s
29 actionable tasks: 27 executed, 2 up-to-date

当前回答

在我的情况下,添加新的片段总是会导致这个错误弹出,我调查了我在git上的提交更改,结果发现,每当我创建一个新的片段时,Android都会自动更新gradle插件,尽管没有给予它这样做的权限,所以我不得不回滚到我最初的gradle插件版本的项目级别的构建。gradle文件:

from

类路径的org.jetbrains.kotlin: kotlin-gradle-plugin: 1.7.0

to

classpath“org . jetbrains kotlin kotlin-gradle-plugin: 1。6 . 21”

监控你的git变化,找出Android对你的gradle文件做了什么,导致它崩溃。

其他回答

我这里也有同样的问题。在我的例子中,原因是我在一个dagger模块中忘记了@Module注释。

要找到这样一个AS警报的真正问题,有必要深入:标题中的消息它只是最后一个,1个或多个错误的原因显示在左侧选择根元素,这显示了你确切的问题,检查我的打印屏幕如下:

我有同样的问题与房间,我没有使用viewBinding。 我修复了它与使用exportSchema假在我的数据库类。

@Database(entities = [ModelClass::class], version = 1, exportSchema = false)
abstract class ModelDatabase: RoomDatabase() {}

记住:exportschemma可以根据你的用例而变化,通常它保持为假,所以我把它设置为假。

当我试图在一个活动中使用刀柄注入一个私有字段时,发生了这种情况。解决方案是删除private关键字,以便更改

@Inject
private lateinit var appAnalytics: AppAnalytics

to

@Inject
lateinit var appAnalytics: AppAnalytics

在我的情况下,添加新的片段总是会导致这个错误弹出,我调查了我在git上的提交更改,结果发现,每当我创建一个新的片段时,Android都会自动更新gradle插件,尽管没有给予它这样做的权限,所以我不得不回滚到我最初的gradle插件版本的项目级别的构建。gradle文件:

from

类路径的org.jetbrains.kotlin: kotlin-gradle-plugin: 1.7.0

to

classpath“org . jetbrains kotlin kotlin-gradle-plugin: 1。6 . 21”

监控你的git变化,找出Android对你的gradle文件做了什么,导致它崩溃。

以我为例:问题解决了

步骤:

删除viewModel变量-在XML中。

<variable
    name="viewModel"
    type="com.xx.AppViewModel" / >

删除了所有viewModel绑定引用-在XML中。

android:text="@{viewModel.simName}"

删除了对绑定映射- In活动的viewModel实例引用

binding.viewModel = viewModel

清理项目并重新编译。 在XML & Build项目中添加viewModel变量。

< variable
    name="viewModel"
    type="com.xx.AppViewModel" / >

将viewModel实例引用添加到绑定映射-在活动和构建项目中

binding.viewModel = viewModel

添加所有viewModel绑定引用-在XML & Build项目中..

    android:text="@{viewModel.simName}"

它现在可以工作了。

——我希望这对你也有用。