我已经将我们的一个 Android 项目从旧的 Groovysettings.gradle
和build.gradle
文件转换为新的 Kotlin DSL,即。settings.gradle.kts
和build.gradle.kts
.
虽然"它在我的机器上工作" - 特别是:我从Groovy转换为Kotlin的原始项目在其原始目录中工作正常 - 我的所有同事在克隆存储库时都无法打开该项目。重要的是,当我将存储库克隆到其他目录时,我也无法自己打开项目(在同一台计算机上使用相同的 AS 安装)。所以,我怀疑某些配置文件中缺少一些额外的细节,但我似乎无法弄清楚是哪个......
详:
- 当我只使用
File > Open...
然后选择项目文件夹时,我只收到错误消息"项目'xxx'不是基于 Gradle 的项目"> - 当我转而通过
Import Project (Gradle, Eclipse ADT, etc.)
然后选择Import project from external model
时Android Gradle
Android Studio 将创建一个空的build.gradle
文件并失败并显示错误消息"错误:找不到 ID 为'com.android.library'的插件"。删除build.gradle
只会返回到我在第一个项目符号中描述的错误消息。
我知道这个 Github 问题,它似乎描述了同样的问题,但它一直非常安静,我想这里一定有人想出了解决这个问题的方法......
哦,命令行构建在任何地方都可以工作 - 这纯粹是一个 Android Studio 问题。
更新:当我将整个项目复制到新文件夹(而不是克隆存储库)时,我可以毫无问题地打开它。那么,我假设文件夹中一定有一些东西——但不是在 Git 中——让它工作,这是否正确?
我能够通过删除.idea
目录并重新打开项目来"修复"它。.idea
目录通常不会在 git 中提交,但我想复制目录会使 .idea 目录中文件中的目录结构无效。
当您单击时,整个错误很容易重现File
>Re-import Gradle project
.
@Boni2k答案对我不起作用。
我必须将根build.gradle.kts
重命名回build.gradle
,修复语法错误,同步项目(立即工作正常),然后将文件重命名回build.gradle.kts
。然后错误消失了,我可以成功同步项目。
我之所以引发错误,是将项目移动到其他文件夹,然后重命名项目。