KMM - 如何将改造添加到 :shared 模块 (commonMain)

Posted

技术标签:

【中文标题】KMM - 如何将改造添加到 :shared 模块 (commonMain)【英文标题】:KMM - How to add Retrofit into :shared module (commonMain) 【发布时间】:2021-10-09 18:02:52 【问题描述】:

我想将 Retrofit 添加到 :shared 模块 (commonMain) 中。

sourceSets["commonMain"].dependencies 
    implementation("com.squareup.retrofit2:retrofit:2.9.0")
    implementation("com.squareup.retrofit2:converter-gson:2.9.0")

但是在commonMain 我看不到改造类。在androidMain 我可以看到它。那是一种魔法。我没有将 Retrofit 添加到 androidMain

请帮助我。提前致谢。

【问题讨论】:

【参考方案1】:

Retrofit 是一个 Java 和 Android 库,这意味着您只能在 KMP 中的 JVM 目标之间共享它。

如果您正在构建 KMM 应用程序(ios 和 Android 目标),则不能在共享代码中使用 Retrofit,除非您对其创建抽象,并提供本机/iOS 实现(这是一个繁琐的工作)。

您可以改用Ktor。

【讨论】:

以上是关于KMM - 如何将改造添加到 :shared 模块 (commonMain)的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio:KMM 项目的“共享”模块目录一直未被标记为源根目录

无法将 io.ktor 导入 Android Studio 中 KMM 的通用模块

KMM - 在项目“:shared”中找不到错误任务“embedAndSignAppleFrameworkForXcode”

不学Flutter,我们来用Kotlin KMM跨平台吧

如何在 KMM(kotlin 本机)共享模块中读取 Swift 框架库中生成的对象数组

我应该将我的包名用于 KMM SqlDelight 配置吗?