空 KMM 项目卡在 gradle 同步
Empty KMM project is stuck with gradle sync
我正在尝试将一些业务逻辑从我的 iOS 应用程序转移到 KMM。当突然开始遇到工作室问题时,我已经做了一些工作。它没有构建,有奇怪的 metaspace
错误,等等。老实说,我在我的项目上花了好几个小时和几天——没有结果。我决定完全卸载 studio 及其所有依赖文件。
在那之后,我什至无法正确构建一个空的 KMM 项目。简单的 Android 项目工作 很好 。只有 KMM 才会出现问题。当我第一次创建一个项目时,它已经成功加载,下载了所有依赖项并同步。我能够看到“Android”项目结构。我试图通过 ./gradlew build
构建它 - 错误。没有完整的描述,只有失败任务的名称 - compile kotlin to ios arm64
。全新项目中的错误。我尝试重建项目 - 没有运气。所以我重新启动了工作室,魔术的第二部分就在这里开始了。
从这一刻起,每当我打开一个新的或现有的 KMM 项目时,它就会开始同步并卡住。例如,我无法打开项目结构,因为正在进行同步,我无法添加依赖项,因为正在进行同步。但是我可以通过 ./gradlew build
构建它并且它可以构建!好吧,我尝试了更多命令,例如 ./gradlew -refresh-dependencies
等。它正在成功构建。然后在某个时候所有的代码都变成了红色。下面可以同时看到Android工作室的所有颜色:
在终端中可以看到构建成功。在右下角,您可以看到由于正在进行同步,因此不允许转到项目结构。而最美的是那些未解的符号。
我相信我已经尝试了大部分 Android 工作室的东西:
- 使缓存无效并重新启动
- 重新启动
- 重建项目
./gradlew clean build
- 删除 ~/.gradle 和 ./gradle 并重建
- 正在重启笔记本电脑
- 正在更新所有插件
等等
伙计们,你们有什么想法可以让工作室只与 KMM 一起工作吗?然后我应该如何让它继续工作?正如我已经说过的,问题不是特定于工作室,而是特定于 KMM,因为常规 android 项目构建得很好。
Android Studio 4.1.2
Mac OS 大苏尔 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 解决了这个问题。
我正在尝试将一些业务逻辑从我的 iOS 应用程序转移到 KMM。当突然开始遇到工作室问题时,我已经做了一些工作。它没有构建,有奇怪的 metaspace
错误,等等。老实说,我在我的项目上花了好几个小时和几天——没有结果。我决定完全卸载 studio 及其所有依赖文件。
在那之后,我什至无法正确构建一个空的 KMM 项目。简单的 Android 项目工作 很好 。只有 KMM 才会出现问题。当我第一次创建一个项目时,它已经成功加载,下载了所有依赖项并同步。我能够看到“Android”项目结构。我试图通过 ./gradlew build
构建它 - 错误。没有完整的描述,只有失败任务的名称 - compile kotlin to ios arm64
。全新项目中的错误。我尝试重建项目 - 没有运气。所以我重新启动了工作室,魔术的第二部分就在这里开始了。
从这一刻起,每当我打开一个新的或现有的 KMM 项目时,它就会开始同步并卡住。例如,我无法打开项目结构,因为正在进行同步,我无法添加依赖项,因为正在进行同步。但是我可以通过 ./gradlew build
构建它并且它可以构建!好吧,我尝试了更多命令,例如 ./gradlew -refresh-dependencies
等。它正在成功构建。然后在某个时候所有的代码都变成了红色。下面可以同时看到Android工作室的所有颜色:
在终端中可以看到构建成功。在右下角,您可以看到由于正在进行同步,因此不允许转到项目结构。而最美的是那些未解的符号。
我相信我已经尝试了大部分 Android 工作室的东西:
- 使缓存无效并重新启动
- 重新启动
- 重建项目
./gradlew clean build
- 删除 ~/.gradle 和 ./gradle 并重建
- 正在重启笔记本电脑
- 正在更新所有插件 等等
伙计们,你们有什么想法可以让工作室只与 KMM 一起工作吗?然后我应该如何让它继续工作?正如我已经说过的,问题不是特定于工作室,而是特定于 KMM,因为常规 android 项目构建得很好。
Android Studio 4.1.2
Mac OS 大苏尔 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 解决了这个问题。