每当我更改 Kotlin 文件时,都会为一个 Kotlin 文件中的每个函数获取"Conflicting overloads"



对于我项目中的一个 Kotlin 文件,几乎每次我对其进行更改和重建时,我都会收到每个函数的"冲突重载"消息。没有两个相互冲突的函数;每个错误消息列出完全相同的函数两次。如果我做一个干净的构建,它构建得很好。

e: ContentApi.kt: (220, 1(: 冲突重载: public fun loadExclusions(assetIds: List(:在文件 ContentApi.kt 中 com.foo.bar 定义的单位, public fun loadExclusions(assetIds: List(:在文件 ContentApi.kt 中以 com.foo.bar 定义的单位

对其他 Kotlin 文件的更改不会产生相同的问题。我可以在另一个 Kotlin 文件中创建一个函数,毫无困难地构建,然后将其剪切并粘贴到这个文件中,然后繁荣起来。

其他人见过这样的东西吗?我最好的猜测是,这是编译代码缓存的某种错误,其中新编译的代码不会替换以前的版本,因此它们相互冲突。

Android Studio/Gradle version 3.2 RC 3 Kotlin 版本 1.2.61

当您有两个名称相同但注释不同的函数时,通常会发生这种情况。

例如:

@PrePersist
public fun loadExclusions(assetIds: List){
}
@PreUpdate
public fun loadExclusions(assetIds: List){
}

我有同样的情况,问题是我已经将包从主文件夹更改为位置,就像开始时建议的调试器一样(在我更改所有位置之前(。当我把原来的包裹留在里面时还可以。

请检查包导入行。它将在以下情况下为我修复 我已经使用正确的包名称正确更新了包导入行。

最新更新