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

当前回答

对我来说,问题是关于kotlin gradle插件。有时候android studio会自己更新kotlin gradle插件。回复gradle插件解决问题。

举个例子:

    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20"

:

    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.61"

其他回答

在我的案例中,降低kotlin版本(从1.4.21到1.3.21)解决了我的问题。

    buildscript { 
    ext.kotlin_version = '1.3.21'

    repositories {
        google()
        jcenter()
        
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.1'
        
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" }
}

我得到这个错误后,做以下:

升级Android Studio到Arctic Fox 更新Kotlin插件到1.5.21版本 将我的Java版本升级到16

使用——stacktrace运行assembleDebug,我在日志中看到了这个异常:四处搜索,我找到了这个链接,它讨论了kapt和JDK16+之间的兼容性问题。

我通过在我的gradle中做这个改变来解决这个问题。属性文件: org.gradle。jvmargs = -Xmx1536m——非法存取=许可证

以我为例:问题解决了

步骤:

删除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}"

它现在可以工作了。

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

尝试用

kapt.use.worker.api=false 

在你的gradle里。属性设置文件

参考:https://youtrack.jetbrains.com/issue/kt - 40750

如果有人面临这个错误,由于添加测试依赖柄(这是我面临这个错误的原因) 确保正常依赖项和测试依赖项的版本相同

// Hilt Dependency 实现“com.google.dagger: hilt-android: 2.38.1” kapt com.google.dagger: hilt-compiler: 2.38.1

//测试柄 androidTestImplementation com.google.dagger: hilt-android-testing: 2.38.1 kaptAndroidTest com.google.dagger: hilt-android-compiler: 2.38.1