如何在 Android Studio 中为 Kotlin Multiplatform 配置 iOS 应用程序?

Posted

技术标签:

【中文标题】如何在 Android Studio 中为 Kotlin Multiplatform 配置 iOS 应用程序?【英文标题】:How to configure an iOS Application for Kotlin Multiplatform in Android Studio? 【发布时间】:2021-05-13 00:25:40 【问题描述】:

我想为 android Studio 4.1.2 中的 Kotlin 多平台移动应用程序的 ios 应用程序添加运行/调试配置。但是,iOS 的配置似乎有问题。

在下面的屏幕截图中,您可以看到问题所在。在“运行/调试配置”对话框中,Android Studio 抱怨

Error: Please specify Xcode project location in xcodeproj property of gradle.properties

使用“修复”按钮并不能解决问题。 Android Studio 只是在gradle.properties 中添加了一个额外的xcodeproj 并抱怨重复参数。

我还为xcodeproj 尝试了不同的路径(相对路径和绝对路径)。没有运气。

如果我没记错的话,它曾经是开箱即用的。为 Android iOS 自动配置了一个新的 Kotlin Multiplatform Mobile 项目。我不确定发生了什么变化。可能更新了一些东西。

这是 KMM 插件的错误吗?或者我可以在我的系统上做些什么来解决这个问题?

【问题讨论】:

似乎这个问题正在流行。 ***.com/questions/66113448/… 和 ***.com/questions/66055014/… 和 ***.com/questions/66113448/… 的重复,但还没有解决方案 好的,很高兴知道这不一定是我的系统的问题。我很确定几天前它可以在我的系统上运行。 我很确定它在我的系统中仍然有效。 我已经尝试了问题中的一个项目。我很确定您的也可以使用 这里也一样。直接用xcode打开iosApp项目也无法运行。说无法加载类org.gradle.wrapper.GradleWrapperMain,所以我下载gradle-wrapper.jar 将它放在gradle/wrapper dir 中,xcode 工作正常。但是AndroidStudio仍然无法检测到iosApp。 【参考方案1】:

不要在 Android Studio 中这样做。

只需打开 Xcode,点击“打开另一个项目...”,找到在 Android Studio 上创建项目时命名它的 iosApp 文件夹。

之后,只需点击运行即可享受乐趣。

【讨论】:

谢谢,它也适用于我的 Xcode。但是,这似乎是 KMM 插件中的一个错误:youtrack.jetbrains.com/issue/KT-44760 是的,当你点击“修复”按钮时,会一次又一次地添加多个配置属性!!!【参考方案2】:

如果项目从 Xcode 中打开后没有立即运行并显示shared framework is missing,则尝试使用终端生成 iOS 平台的共享框架。导航到项目文件夹并执行 命令:./gradlew packForXcode 现在共享框架应该有一个xcode-frameworks 产品,您应该能够通过 Xcode 构建和运行项目。

【讨论】:

谢谢,这个解决方法对我有用,直到插件中的错误得到修复。 这行得通。感谢您的解决方案。但是每次更改代码时我都必须运行它。就像这样循环“Android Studio中的代码更改>运行此命令>从Xcode运行应用程序”我希望是否有任何替代解决方案。 @DanishAnsari 我相信随着 KMM 插件的新版本解决了这个问题。我正在使用 AS 金丝雀版本和最新的 KMM 插件,它没有问题。 @iPP 是的,我也注意到了同样的问题,谢谢你虽然我得到了这个错误,但按照那里的 cmets 中提到的那样修复了它youtrack.jetbrains.com/issue/KT-41691【参考方案3】:

我通过将 Kotlin 版本从 1.4.30 降级到 1.4.21 来修复它。您可以查看this thread here。要降级,请从plugin store 下载您想要的版本,然后从磁盘中选择安装插件,如下图所示

【讨论】:

【参考方案4】:

升级Android Studio版本到4.2.1,KMM插件版本到0.2.6,用KMM插件新建KMM项目,问题自动修复。

【讨论】:

【参考方案5】:

如果你不想使用 Xcode:

看起来这个版本存在一些 IDE 问题,一种选择是降级 Kotlin 版本。

对我有用的是下载最新的 Canary Android Studio 并在那里设置我的 KMM 项目。

希望很快这将在下一个版本中稳定

【讨论】:

【参考方案6】:

与此处相同:https://***.com/a/66941077/3117650

看起来这个版本存在一些 IDE 问题,一种选择是降级 Kotlin 版本。

对我有用的是下载最新的 Canary Android Studio 并在那里设置我的 KMM 项目。

希望很快这将在下一个版本中稳定

【讨论】:

以上是关于如何在 Android Studio 中为 Kotlin Multiplatform 配置 iOS 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android Studio 中为小部件设置不高度?

如何在 android studio 中为线性布局制作“波浪”边框?

如何在 android studio 中为 IBM MobileFirst 项目导入外部库项目?

如何在 android studio 中为初学者添加操作栏?

如何在Android Studio中为Gradle设置apk的应用名称

如何在 Android Studio 中为 Kotlin Multiplatform 配置 iOS 应用程序?