问题标签 [kotlin-multiplatform]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 构建 iOS 框架时未找到 Ktor 和 kotlinx 依赖项
我试图在我的 Kotlin/Native 项目中包含对和ktor
(kotlinx
准确地说)的支持。所有库都可以在项目的 Android 版本上运行,但是当我尝试编译 Xcode 项目时,我收到错误,指出无法找到和库:serialization
coroutines
kotlinx.serialization
kotlinx.coroutines
这是我的项目的 gradle 文件:
任何帮助将不胜感激,谢谢!
android - 多平台项目中的 Android 上下文
我想知道是否可以使用 kotlin-multiplatform 插件访问 androidMain sourceSets 中的 Android 上下文应用程序。
这是 build.gradle 文件
我尝试将“com.android.application”插件添加到 androidMain 源中,但同步失败。
提前致谢
ios - 链接 ktor 和 kotlinx.coroutines 会导致未定义的符号
我正在尝试将我的 Kotlin/Native 项目链接为 iOS 框架。Kotlin 代码编译得很好,但是当链接器运行时,我收到以下错误:
我曾尝试将平台从更改为iosX64
,iosArm64
但会导致相同的错误。这是我的 gradle 文件供参考,以防我缺少依赖项。
任何帮助将不胜感激,谢谢!
android - 如何确定 kotlin-multiplatform 项目中的构建类型
我正在开发一个多平台项目,iOS 和 JVM(我不直接针对 Android)。根据构建类型(调试或发布),我想配置日志记录级别(即仅打印发布中的错误)。由于没有BuildConfig
可用的类,我如何从commonMain
构建类型中知道?
kotlin-multiplatform - Kotlin 期望实际的数据类型
是否可以在 commonMain 中定义数据类型的期望,然后在 jvmMain 或 jsMain 中提供实际数据类型?
例如,假设我想在 commonMain 类中的 JavaScript 和 Java 中使用 Date 的本地数据类型:
这样的事情可能吗?如果是这样,语法是什么样的?
gradle - IntelliJ Kotlin multiplatform project Gradle sync very long
I've created a new Kotlin Multiplatform
project for Andrid
and iOS
(Mobile shared Library). The project works fine but every time I run Gradle
sync, it takes more than 5 minutes every time. It always get stuck on the same line:
Gradle: Build model 'org.jetbrains.kotlin.gradle.KotlinMPPGradleModel' for root project 'MyProject'
Why is it taking so long evey time?
I'm using Gradle
version 5.1.
Here is my build.gradle
file:
Screenshot of the problem:
kotlin - 带有 iOS 的 Kotlin Multiplatform:“使用未声明的类型 'KotlinCoroutineContext'”
我正在尝试在 iOS 上使用 Kotlin 多平台代码(使用 Ktor 和 Kotlin 协程)。该框架已正确生成,并且可以毫无问题地调用一些公开的类/方法。但是,如果我尝试添加以下内容(例如在https://github.com/JetBrains/kotlinconf-app/blob/master/konfios/konfswift/ui/UI.swift中所做的)。我得到“使用未声明的类型'KotlinCoroutineContext”(我看到SharedCode.h
它不存在)
共享代码的 gradle 文件包括以下内容(我使用 Kotlin 1.3.11、Ktor 1.0.1 和 Coroutines 1.0.1 以及 Gradle 4.7)
我怀疑这个问题可能是这些符号没有明确暴露(也尝试使用api
而不是implementation
协程依赖项,但这没有帮助)。
这就是我到目前为止所拥有的:https ://github.com/joreilly/galway-bus-android/tree/kotlin_native
更新:
尝试了新发布的 Kotlin v1.3.20,但现在得到了关注
kotlin - 如何在 Kotlin 常用代码中创建动态代理?
如果我在 JVM 上,我可以这样做:
运行它会打印Invoked method: put
. 如何在 Kotlin通用项目中做这样的事情?
编辑:我不想在我的公共模块中使用 Java 中的任何东西。我知道常见的项目是如何运作的。相反,我感兴趣的是是否有基于 Kotlin 的解决方案。
编辑 2:我不想代理Map
课程。我正在寻找类似Proxy
JDK 中的东西,我可以用它来代理任何接口。对困惑感到抱歉。
kotlin - 如何在 Kotlin Multiplatform 中将默认的 `jvm` sourceSet 添加到 `android` 目标?
使用 Kotlin/Multiplatform 1.3.11我有以下内容build.gradle
:
所以基本上我想重用jvm
目标的所有代码android
。
使用刚刚发布的 Kotlin/Multiplatform 1.3.20现在我收到一个错误:
目标“jvm”已经存在,但不是使用“android”预设创建的。要对其进行配置,请在中按名称访问它
kotlin.targets
或使用预设功能“jvm”打开文件
我试图迁移到新语法:
但它不会为 Android 目标重用 jvm defaultSourceSet:
预期的类“URL”在模块中没有实际声明
所以它实际上并没有使用默认的 jvm 源集,也没有抛出 Groovy 语法错误。
怎么了?