将第三方库添加到 kotlin 多平台移动共享模块
add third party library to kotlin multiplatform mobile shared module
我正在编写一个将调用 AppSync API 的 KMM 移动应用程序,我的目的是在共享模块中实现所有 API 调用,这样我就不必编写它代码两次(即分别用于 iOS 和 Android)
其次,我想使用共享模块中的 Amplify 库来实现 API 调用,我希望这能让我利用许多功能,例如离线存储。
然而,我注意到的是,即使我已在 commonMain
sourceSet 中成功添加了放大库,但这些库在 class 路径上不可见,因此我无法导入任何 class 来自图书馆
这是我在 build.gradle
中的 commonMain sourceSet 依赖项
val commonMain by getting {
dependencies {
implementation("com.amplifyframework:core:1.35.2")
implementation("com.amplifyframework:aws-api:1.35.2")
}
}
这成功构建并安装了依赖项,但我无法导入任何东西
我的问题是,
这是否意味着我根本无法添加任何不是 kotlin 多平台库的第三方?
我觉得这留给我的唯一选择是以特定于平台的方式实现 API 调用两次,这完全违背了使用 KMM 的目的,是否有替代解决方案可以让我使用这些库并将 API 调用编写为导入到 iOS 和 Android 应用程序的共享代码?
谢谢
我决定使用https://www.apollographql.com/docs/kotlin/v2/essentials/get-started-multiplatform。
这似乎适用于 KMM,我可以构建一次 API 调用并为两个平台构建 re-use。
我正在编写一个将调用 AppSync API 的 KMM 移动应用程序,我的目的是在共享模块中实现所有 API 调用,这样我就不必编写它代码两次(即分别用于 iOS 和 Android)
其次,我想使用共享模块中的 Amplify 库来实现 API 调用,我希望这能让我利用许多功能,例如离线存储。
然而,我注意到的是,即使我已在 commonMain
sourceSet 中成功添加了放大库,但这些库在 class 路径上不可见,因此我无法导入任何 class 来自图书馆
这是我在 build.gradle
val commonMain by getting {
dependencies {
implementation("com.amplifyframework:core:1.35.2")
implementation("com.amplifyframework:aws-api:1.35.2")
}
}
这成功构建并安装了依赖项,但我无法导入任何东西
我的问题是,
这是否意味着我根本无法添加任何不是 kotlin 多平台库的第三方?
我觉得这留给我的唯一选择是以特定于平台的方式实现 API 调用两次,这完全违背了使用 KMM 的目的,是否有替代解决方案可以让我使用这些库并将 API 调用编写为导入到 iOS 和 Android 应用程序的共享代码?
谢谢
我决定使用https://www.apollographql.com/docs/kotlin/v2/essentials/get-started-multiplatform。
这似乎适用于 KMM,我可以构建一次 API 调用并为两个平台构建 re-use。