首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kotlin文件更改会导致Redeclaration错误。

Kotlin文件更改会导致Redeclaration错误。
EN

Stack Overflow用户
提问于 2019-06-27 16:18:28
回答 10查看 21.7K关注 0票数 39

每次对kotlin文件的更改都会导致生成时的Redeclaration错误。唯一的解决办法是清理项目,然后再进行重建。项目中没有与我正在编辑的文件同名的其他文件。

我试过:

  • 重命名我一直在做的课程
  • Android Studio中kotlin、gradle和kotlin插件版本的升级和降级
  • 使用beta Android Studio
  • 重新排序我的gradle文件中的插件

当前构建使用的是:

代码语言:javascript
复制
org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.21
com.android.tools.build:gradle:3.2.0

将导致错误的示例代码。如果我不使用addedThisLine进行构建,它将作为第一个构建来工作。然后,当我在任何情况下编辑文件时,都会导致下面的错误。

代码语言:javascript
复制
package beagle.com

class ErrorFragment {

    val hello = "Hello"

    init {
        var goodbye = "goodbye"
        var addedThisLine = "When this line is added I get error"
    }
}

我犯了错误

这发生在我的项目中的每个kotlin文件中,我上面发布的代码是最基本的文件。如您所见,它指向错误的类名。

EN

回答 10

Stack Overflow用户

发布于 2020-03-15 07:23:38

只需清理项目并重新构建项目即可。

票数 30
EN

Stack Overflow用户

发布于 2019-07-29 02:51:01

TL;DR:检查您的目录与它们在settings.gradle中显示的名称完全相同。

值得一提的是: MacOS并不总是区分大小写,这可能导致奇怪的问题。

我想我找到了一个解决方案:区分大小写的东西

在我的例子中,我使用模块,让我们只调用模块:moduleAmoduleB

settings.gradle中,我有:include ':ModuleA', 'moduleB',但是文件系统级别的目录是:moduleA/moduleB/

这似乎很奇怪,不应该工作,但第一次运行总是有效的,然后下一个将失败,直到项目清理。

我决定保持一致,并将目录重命名为settings.gradle列出的目录,即使在AndroidStudio中它们以settings.gradle中列出的名称出现。这也有助于清理事情,因为git在.git/config下有一个配置,它声明忽略区分大小写的内容。

因此,检查您的目录的情况和它们是如何在settings.gradle中列出的。

在用gradle重命名和清洁之后,一切都像以前一样工作。

票数 11
EN

Stack Overflow用户

发布于 2020-06-10 16:23:52

然后升级kotlingradle版本

试着Run这可能会有帮助

代码语言:javascript
复制
./gradlew clean
rm -rf ~/.gradle/caches/*

如果没有添加,请尝试将以下内容添加到您的gradle.build文件中

代码语言:javascript
复制
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56795138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档