空 KMM 项目卡在 gradle 同步中
Posted
技术标签:
【中文标题】空 KMM 项目卡在 gradle 同步中【英文标题】:Empty KMM project is stuck with gradle sync 【发布时间】:2021-05-13 15:21:24 【问题描述】:我正在尝试将一些业务逻辑从我的 ios 应用程序转移到 KMM。当我突然开始在工作室遇到问题时,我已经做了一些工作。它没有在构建,有奇怪的metaspace
错误等等。老实说,我在我的项目周围打了几个小时和几天 - 没有结果。我决定完全卸载 studio 及其所有依赖文件。
在那之后,我什至无法正确构建一个空的 KMM 项目。简单的 android 项目运行良好。只有 KMM 才会出现问题。当我第一次创建一个项目时,它已经成功加载,下载了所有依赖项并同步了。我能够看到“Android”项目结构。我试图通过./gradlew build
构建它 - 错误。没有完整的描述,只有失败任务的名称 - compile kotlin to ios arm64
。全新项目中的错误。我尝试重建项目 - 没有运气。所以我重新启动了工作室,魔法的第二部分开始了。
从这一刻起,每当我打开一个新的或现有的 KMM 项目时,它就会开始同步并卡住。例如,我无法打开项目结构,因为正在进行同步,我无法添加依赖项,因为正在进行同步。但我可以通过./gradlew build
构建它并且它构建了!好吧,我尝试了更多命令,例如./gradlew -refresh-dependencies
等。它正在成功构建。然后在某个时候,所有代码都变成了红色。下面你可以同时看到Android Studio的所有颜色:
在终端中可以看到构建成功。在右下角,您可以看到它不允许进入项目结构,因为正在进行同步。而最美的,就是那些未解之谜。
我相信我已经尝试了大部分 Android Studio 的东西:
使缓存无效并重新启动 只需重新启动 重建项目./gradlew clean build
删除 ~/.gradle 和 ./gradle 并重建
重启笔记本电脑
更新所有插件
等
伙计们,你们有什么想法可以让工作室只与 KMM 合作吗?然后我应该如何让它继续工作?正如我已经说过的,问题不是特定于工作室,而是特定于 KMM,因为常规的 android 项目构建得很好。
Android Studio 4.1.2
Mac OS Big Sur 11.2
Kotlin 1.4.30-release-Studio4.1-1
【问题讨论】:
【参考方案1】:我猜你遇到过this issue。
其实我还没想好怎么解决,但是你可以试试AS 4.2-beta,因为这个问题似乎在这个 AS 版本中不存在。
同样的事情发生在我身上,我切换到 AS 4.2 beta。
你和我唯一的区别是 Kotlin 版本:我有 1.4.21
更新
原来是我在 KMM 插件和 Kolin 版本之间配置错误。
AS 4.1 应该只能与 KMM 插件 0.2.0 和 Kotlin 1.4.20 一起正常工作,而我使用的是 Kotlin 1.4.30。切换回 Kotlin 1.4.20 解决了这个问题。
【讨论】:
嗨!谢谢你分享这个。我今天会尝试并返回结果 嗯,测试版可以工作,至少现在是这样。希望明天不要崩溃。最奇怪的是它以前工作过,但在某个时刻崩溃了。仍然认为 JB 的人应该注意可能的 Big Sur 兼容性问题以上是关于空 KMM 项目卡在 gradle 同步中的主要内容,如果未能解决你的问题,请参考以下文章
intellij idea 导入gradle项目卡在 gradle: build model...
flutter 卡在Running Gradle task 'assembleDebug'...