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

当前回答

对我来说,这个问题的发生是因为java版本的差异 对我来说 -我的工作室默认java版本是11 -我有一个库在我的项目与java版本8支持

修复, 1.使用命令/usr/libexec/java_home -V列出所有已安装的java版本 2.拷贝java8路径:/Library/Java/JavaVirtualMachines/1.8.0_232.jdk/Contents/Home 3.去 文件-项目结构- SDK位置- jdk位置 在那里添加你的java路径

其他回答

有趣的是,我得到这个错误是因为我添加了Retrofit的描述。注意不要混淆“房间”和“改造”的描述。

在我的情况下,我只是重命名/settings.gradle中的rootProject.name 我再次重复这个动作,它的工作..我不明白为什么会发生这种事,但我希望这能帮助到其他人,节省他们的时间

我刚刚将Android Studio IDE更新到4.1.1版本,并得到了类似的问题。

我意识到……

在我没有一些*_Impl类之前(我知道它们在Kotlin的东西中),甚至没有一些新的*Tests类。

所以,在“运行所有的世界”之后,我做出了一个直观而公平的选择:我删除了我的“手工构建”包中的所有文件,这些文件在Android Studio更新之前并不存在。

你猜怎么着?

它工作。没有问题,关于kapt一点问题都没有。

我并不是说这是最终的解决方案。但它可以为你工作。

祝你过得愉快。

我有一个枚举在我的实体属性使用房间。经过长时间的搜索,导致如下失败。

“:app:kaptDebugKotlin”任务执行失败。 执行org.jetbrains.kotlin.gradle.internal.KaptExecution时发生失败 invocationtargetexception(没有错误消息)

enum class Color{RED,BLACK,BLUE,GREEN,WHITE}
@Entity(tableName = "flower_table")
data class Flower(
        @PrimaryKey(autoGenerate = true) val id: Int,
        @ColumnInfo(name = "name") val name: String,
        @ColumnInfo(name = "color") val color: Color)

val flower = Flower(2, "rose", Color.RED)

我的解决方案是在实体属性中使用枚举的索引。

@Entity(tableName = "flower_table")
data class Flower(
        @PrimaryKey(autoGenerate = true) val id: Int,
        @ColumnInfo(name = "name") val name: String,
        @ColumnInfo(name = "color") val color: Int)

val flower = Flower(4, "tulip", Color.BLUE.ordinal)

希望能对你有所帮助! PS,不要忘记更新数据库类中的版本号。

@Database(entities = [Flower::class], version = 2)
abstract class FlowerRoomDatabase : RoomDatabase() {

在某些情况下,这可能会有所帮助 gradle.properties

kapt.include.compile.classpath=true