android - 空 KMM 项目卡在 gradle 同步中

标签 android android-studio kotlin kotlin-multiplatform kotlin-native

我正在尝试将一些业务逻辑从我的 iOS 应用程序转移到 KMM。当我突然开始在工作室遇到问题时,我已经做了一些工作。它没有构建,有奇怪的 metaspace 错误,等等。老实说,我在我的项目周围打了几个小时和几天 - 没有结果。我决定完全卸载 studio 及其所有依赖文件。

在那之后,我什至无法正确构建一个空的 KMM 项目。简单的 Android 项目运行良好。只有 KMM 才会出现问题。当我第一次创建一个项目时,它已经成功加载,下载了所有依赖项并同步了。我能够看到“Android”项目结构。我试图通过 ./gradlew build 构建它 - 错误。没有完整的描述,只有失败任务的名称 - compile kotlin to ios arm64。全新项目中的错误。我尝试重建项目 - 没有运气。所以我重新启动了工作室,魔法的第二部分开始了。

从这一刻起,每当我打开一个新的或现有的 KMM 项目时,它就会开始同步并卡住。例如,我无法打开项目结构,因为正在进行同步,我无法添加依赖项,因为正在进行同步。但我可以通过 ./gradlew build 构建它,它就构建了!好吧,我尝试了更多命令,例如 ./gradlew -refresh-dependencies 等。它构建成功。然后在某个时候,所有代码都变成了红色。下面你可以同时看到Android Studio的所有颜色:

enter image description here

在终端中可以看到构建成功。在右下角,您可以看到它不允许进入项目结构,因为正在进行同步。而最美的,就是那些未解之谜。

我相信我已经尝试了大部分 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

最佳答案

我猜你遇到过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 解决了这个问题。

关于android - 空 KMM 项目卡在 gradle 同步中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66128407/

相关文章:

android - torch 应用安卓

Android 强制 Fragment 重建 View

java - 如何在 Android Studio 中添加链接源文件夹?

Android Gradle 插件 0.7.0 : "duplicate files during packaging of APK"

java - Android如何在加载新图像之前回收图像

android - Realm 在 executeTransactionAsync 的 onSuccess 回调中关闭错误

flutter - Android Studio - 'constants.dart' 文件变成 .txt 文件

gradle - 如何从另一个自定义插件应用 Kotlin jvm 插件?

android - 如何使用 Kotlin 同时定位 JVM/Native 和 Android

Android LiveData 中 Java 未经检查的调用与 Kotlin 的比较