突然我开始得到这个错误,我不知道为什么如果有人告诉我这个错误在哪里,就足够有帮助了。正如我所能得到的,这是因为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

当前回答

对我来说,一堆引用错误和DataBinding XML表达式中的一个错误产生了这个错误。

我在布局文件中删除了<variable/>,因为我想,我不再需要它了。我忘了在布局文件中引用了变量。

在构建项目之后,这会产生一个错误,其中不可能导入BindingImpl类,因为它不存在,并且此错误仅显示为与上述KaptExecution错误并行的警告。

搜索了一段时间后,我发现了这个错误并解决了它。然后,一堆引用错误显示,因为我重命名了一些东西,它没有重命名它在片段文件。在解决了这些错误之后,我完成了构建,没有出现错误或警告。

其他回答

我也有同样的问题。在我的情况下,问题是关于数据库。我必须修改这行代码 @数据库(实体= [SearchedLocation::class, FavoriteLocation::class],版本= 1)

我在数据库中添加了另一个表,但忘记在上面的行中添加表。

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

@Inject
private lateinit var appAnalytics: AppAnalytics

to

@Inject
lateinit var appAnalytics: AppAnalytics

我也遇到了同样的问题,所以我试图通过做来获得更多的信息

gradle - >应用程序- > - > Build - >组装任务

在这之后,我得到确切的错误说“错误,而注释处理”。 我检查了最近调整的DAO类,发现其中一个方法返回类型没有定义。

//Before
@Query("SELECT countryName FROM country_table WHERE countryCode= :code")
    fun getCountryNameForCode(code: String)

//After
@Query("SELECT countryName FROM country_table WHERE countryCode= :code")
    fun getCountryNameForCode(code: String): String

解决了只需增加gradle版本到最新

它在项目级别的gradle文件中,在dependencies块下。

classpath "com.android.tools.build:gradle:4.x.x"

当我将ROOM添加到我的应用程序(Kotlin)时,我也遇到了同样的问题。 我花了很长时间才发现问题所在,最后才发现我是在用下面的方法给我的应用程序添加ROOM。

    //room
    implementation 'android.arch.persistence.room:runtime:1.1.1'
    kapt "android.arch.persistence.room:compiler:1.1.1"

所以我把上面两行换成了下面的,摆脱了痛苦。

    def room_version = "2.2.6"
    implementation "androidx.room:room-runtime:$room_version"
    kapt "androidx.room:room-compiler:$room_version"

如果对你有帮助,点击向上键:D