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

当前回答

这事就发生在我身上。另一个开发人员没有正确地完成合并,所以这一行在代码中

<<<<<<< HEAD

而不是得到一个编译错误,我得到了KaptExecution错误。

其他回答

这个答案对于那些在同一台机器(WINDOWS操作系统)上从一个帐户(用户)切换到另一个用户的人很有用。

我也遇到过类似的问题

failure occurred while executing org.jetbrains.kotlin.gradle.internal.kaptwithoutkotlinctask

但理由是拒绝批准下面的文件

C:\Android\.gradle\caches\modules-2\files-2.1\com.android.tools.build.jetifier\jetifier-core\1.0.0-beta09\c98ee0e5579aed97e17f605a89b101115a2f5a61\jetifier-core-1.0.0-beta09.jar

问题场景

我所做的是,复制C:\Android。Gradle \从我以前的机器到新机器。我在新机器上使用的用户帐户是X,我创建了一个新帐户,然后删除了帐户X。

由于X是所有者,新帐户在权限方面存在问题。

解决方案是更换所有权或删除C:\Android。gradle\让Android Studio(AS)下载相同。 出于同样的原因,我在承诺时也遇到了所有权问题。 为了避免任何进一步的问题,我删除了C:\Android(其中包括.gradle, . Android, C:\Android\Local\Android\Sdk文件夹)重新安装了Android Studio。

Git子模块更新失败,提示“致命:在存储库中检测到可疑的所有权”

尝试用

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

大声喊出上面@Rene Spies的回答,我在使用数据绑定时也得到了这个错误。当您将@Bindable注释放在Kotlin中数据类的主构造函数的字段上时,构建引擎不喜欢这样做。

所以不要做下面的事情,

data class MyAwesomePojo(
    @Bindable
    var firstname: String,
    var lastname: String
)

相反,你需要做的是

data class MyCorrectAwesomePojo(
    var lastname: String
):{
    @get:Bindable
    var firstname: String
        set(value){
            field = value
        }
}

好处:如果你像我一样试图使用双向绑定来防止设置和获取的无限循环,请记得在设置值到字段之前检查相同的值。

检查柯特林和刀柄的兼容版本