如何在 Kotlin Native 中使用 Http Request 库
Posted
技术标签:
【中文标题】如何在 Kotlin Native 中使用 Http Request 库【英文标题】:How to use Http Request lib in Kotlin Native 【发布时间】:2019-06-02 21:36:17 【问题描述】:我是 Kotlin 本机的初学者,我的目标是构建一个我们的 Rest API 包含它的库,并在 ios 和 android 上使用它。
我知道ktor
并在我的项目中实现了这一点,但是当我通过Gradle
运行build
项目时,我使用kotr
的对象时出现异常:
> Task :apiCore:androidProcessResources NO-SOURCE
> Task :apiCore:compileKotlinAndroid UP-TO-DATE
> Task :apiCore:androidMainClasses UP-TO-DATE
> Task :apiCore:androidJar UP-TO-DATE
> Task :apiCore:compileKotlinIOS
src/commonMain/kotlin/APICore.kt:3:8: error: unresolved reference: io
import io.ktor.client.HttpClient
^
src/commonMain/kotlin/APICore.kt:4:8: error: unresolved reference: io
import io.ktor.client.request.get
^
src/commonMain/kotlin/APICore.kt:10:17: error: unresolved reference:
HttpClient
val client = HttpClient()
^
Execution failed for task ':apiCore:compileKotlinIOS'.
> Process 'command '/Applications/Android
Studio.app/Contents/jre/jdk/Contents/Home/bin/java'' finished with
non-zero exit value 1
还有我的Gradle
用于多平台模块:
sourceSets
commonMain.dependencies
api 'org.jetbrains.kotlin:kotlin-stdlib-common'
implementation("io.ktor:ktor-client-core:1.1.1")
androidMain.dependencies
api 'org.jetbrains.kotlin:kotlin-stdlib'
implementation ("io.ktor:ktor-client-android:1.1.1")
iosMain.dependencies
implementation "io.ktor:ktor-client-ios:1.1.1"
【问题讨论】:
【参考方案1】:我明白了,我确实在其他论坛上阅读过有关问题,如果您将 gradle
降级到 4.7,这个问题将得到解决。
我降级了项目的等级并解决了。
【讨论】:
以上是关于如何在 Kotlin Native 中使用 Http Request 库的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Kotlin 同时定位 JVM/Native 和 Android
Kotlin Multiplatform Mobile:Ktor - 如何在 Kotlin Native(iOS)中取消活动协程(网络请求、后台工作)?
如何使用 Kotlin/native 生成依赖于另一个的 .framework?
使用来自 Kotlin/Native 和 Gradle 的 Apple 依赖项,更具体地说是 SwiftUI
在 Kotlin Native 中,如何在不使用 C 指针的情况下将对象保留在单独的线程中,并从任何其他线程中改变其状态?