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

9
我已将我们的一个Android项目从旧的Groovy settings.gradlebuild.gradle文件转换为新的Kotlin DSL,即settings.gradle.ktsbuild.gradle.kts
虽然“它在我的电脑上运行良好”,特别是我把原来从Groovy转换到Kotlin的项目放回到原来的目录里,但是所有同事在克隆存储库时都无法打开该项目。重要的是,当我将存储库克隆到其他目录时,我也无法打开该项目(使用相同的AS安装在同一台机器上)。因此,我怀疑某些配置文件中缺少了一些额外的细节,但我似乎无法确定哪些细节缺失...
详情如下:
  • 当我只使用文件> 打开...然后选择项目文件夹时,我只会收到错误消息“该项目'xxx'不是基于Gradle的项目”
  • 相反,当我通过导入项目(Gradle、Eclipse ADT等),然后选择从外部模型导入项目Android Gradle,Android Studio会创建一个空的build.gradle文件,并失败并出现错误消息“错误:找不到ID为'com.android.library'的插件”。删除build.gradle后,只会回到我在第一个符号点描述的错误消息。
我已经意识到此Github问题,它似乎描述了同样的问题,但它一直很安静,我认为这里的某个人必须已经找出了解决方案...
哦,命令行构建可以在任何地方正常工作-这纯粹是一个Android Studio问题。 更新: 当我复制整个项目到一个新文件夹(而不是克隆存储库)中时,我可以毫无问题地打开它。因此,我是否正确地假设该目录内必须有一些内容 - 而不是在Git中 - 可以使其正常工作?
2个回答

11

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

当您点击文件> 重新导入Gradle项目时,整个错误很容易再现。


啊,非常有帮助,谢谢!你说得对,File > Re-import Gradle project 会通过创建一个空的 build.gradle 文件来破坏甚至是一个正常工作的项目 - 就像我第二个要点中所描述的那样。此外,我必须承认,我在 Git 中包含了一些 .idea 文件夹中的文件,即与代码风格相关的东西... 我本以为这是允许的甚至是明智的... 我也可以重现你的“修复”:1.) 克隆 2.) rm -rf .idea 3.) 在 AS 中打开项目似乎能够始终正常工作... 然后唯一的问题就是我失去了所有自定义配置在 .idea 文件夹中... - david.mihola
运行得非常好。只需要重新创建应用程序配置即可。 - Ricardo Costeira
由于目前这个解决方法似乎是我们能做到的最好的,我将其标记为被接受的答案。 - david.mihola
谢谢!这也解决了“由于包含Kotlin模块而不支持新的Gradle同步”的问题。 - Jeff Jones

8

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

我必须将根目录下的build.gradle.kts重命名为build.gradle,修复语法错误,同步项目(立即有效),然后将文件重新命名为build.gradle.kts。然后错误就消失了,我可以成功同步项目。

我遇到这个错误的原因是将项目移动到另一个文件夹并重命名了项目。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接