如何在 Kotlin 项目完成后将其转换为 Kotlin Multiplatform Mobile?

6
在Android Studio中使用Kotlin构建了一段代码。最初我没有将其设置为Kotlin Multiplatform Mobile项目,现在想将其带到iOS上。在这个阶段是否有一种方法可以"转换"为Kotlin Multiplatform Mobile?谢谢

请提供足够的代码,以便他人更好地理解或重现问题。 - Community
2个回答

1

这是一个多步骤的过程:

  1. 您需要调整构建配置-将 build.gradle.kts 更改为 KMM 设置。您可以在 PeopleInSpaceKaMPKit 存储库中找到示例
  2. 您必须使您的 Android 代码与平台无关,以便与 iOS 共享部分

您需要进行的更改取决于您拥有多少 Android 依赖项,您编写了多少平台特定的代码以及您希望与 iOS 共享多少。

我不会低估这个重构所需的规模,因为作为 Android 开发人员,我们可能会忽略许多平台特定的事情(JUnit、File、Dates 只是几个例子,我们通常使用 JVM 库)

我建议从小处开始,创建一个带有 KMM 配置的 shared 模块,然后逐步将事物移动到 shared

如果您有更多问题,请联系我们


嗨,Robert,感谢您快速而详细的回答。我已经浏览了一些应该涵盖的步骤,由于我的Kotlin代码加载了Android依赖项,所以我在想,也许最快的解决方案是使用Xcode上的Swift从头开始重新制作应用程序?在您看来,这听起来像个疯狂的想法吗?顺便说一下,我仍然需要学习如何使用Swift编码,但我相信这不应该太难。 - Drago
@Drago,我认为这取决于情况。如果你想快速完成iOS开发,我倾向于说是的,用Swift编码可能会更快。 如果你计划制作长期应用程序,并降低维护成本,那么与KMM共享逻辑是一个好主意。 - Róbert Nagy

0

请查看此详细视频,了解该过程https://www.youtube.com/watch?v=X6ckI1JWjqo

您需要使用Kotlin本地库来切换常见共享代码,因此根据此,您可能需要更多或更少的工作。

除此之外,您还需要使用关于依赖注入、通用视图模型层等方面的策略。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接