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