Android Studio无法使用Kotlin DSL打开Android项目

dav*_*ola 8 gradle android-studio android-gradle-plugin gradle-kotlin-dsl

我已经将我们的Android项目之一从旧的Groovy settings.gradlebuild.gradle文件转换为新的Kotlin DSL,即settings.gradle.ktsbuild.gradle.kts

尽管“它可以在我的机器上工作”,尤其是:我从Groovy转换为Kotlin的原始项目在其原始目录中运行良好,但所有我的同事在克隆存储库时都无法打开该项目。重要的是,将存储库克隆到其他目录时,我也无法自己打开项目(在同一台计算机上使用相同的AS安装)。因此,我怀疑某些配置文件中缺少一些其他详细信息,但我似乎无法弄清楚哪个...

细节:

  • 当我只使用File > Open...然后选择项目文件夹时,我只会收到错误消息“项目'xxx'不是基于Gradle的项目”
  • 相反,当我依次检查Import Project (Gradle, Eclipse ADT, etc.)然后选择时Import project from external modelAndroid GradleAndroid Studio将创建一个空build.gradle文件并失败,并显示错误消息“错误:未找到ID为'com.android.library'的插件。” 删除build.gradle正义返回到我在第一个项目符号要点中描述的错误消息。

我知道这个Github问题,似乎描述了同样的问题,但是它一直很安静,我想这附近的某人一定想出了解决这个问题的方法...

哦,命令行构建在任何地方都可以工作-这纯粹是一个Android Studio问题。

更新:当我整个项目复制到一个新文件夹(而不是克隆存储库)时,我可以毫无问题地打开它。因此,我是否假设文件夹内必须有东西(但在Git中没有)是正确的呢?

Bon*_*i2k 9

我可以通过删除.idea目录并重新打开项目来“修复”它。该.idea目录通常不在git中提交,但是我猜复制目录会使.idea目录中文件的目录结构无效。

单击File> 可以很容易地复制整个错误Re-import Gradle project


Pei*_*ike 5

@ Boni2k的答案对我不起作用。

我必须将根重命名build.gradle.ktsbuild.gradle,修复语法错误,同步项目(可以立即正常运行),然后将文件重命名为build.gradle.kts。然后错误消失了,我可以成功同步项目了。

引起错误的原因是我将项目移到了另一个文件夹,然后重命名了项目。