问题标签 [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.

0 投票
2 回答
1397 浏览

ios - 构建 iOS 框架时未找到 Ktor 和 kotlinx 依赖项

我试图在我的 Kotlin/Native 项目中包含对和ktorkotlinx准确地说)的支持。所有库都可以在项目的 Android 版本上运行,但是当我尝试编译 Xcode 项目时,我收到错误,指出无法找到和库:serializationcoroutineskotlinx.serializationkotlinx.coroutines

这是我的项目的 gradle 文件:

任何帮助将不胜感激,谢谢!

0 投票
1 回答
1539 浏览

android - 多平台项目中的 Android 上下文

我想知道是否可以使用 kotlin-multiplatform 插件访问 androidMain sourceSets 中的 Android 上下文应用程序。

这是 build.gradle 文件

我尝试将“com.android.application”插件添加到 androidMain 源中,但同步失败。

提前致谢

0 投票
1 回答
587 浏览

ios - 链接 ktor 和 kotlinx.coroutines 会导致未定义的符号

我正在尝试将我的 Kotlin/Native 项目链接为 iOS 框架。Kotlin 代码编译得很好,但是当链接器运行时,我收到以下错误:

我曾尝试将平台从更改为iosX64iosArm64但会导致相同的错误。这是我的 gradle 文件供参考,以防我缺少依赖项。

任何帮助将不胜感激,谢谢!

0 投票
1 回答
762 浏览

android - 如何确定 kotlin-multiplatform 项目中的构建类型

我正在开发一个多平台项目,iOS 和 JVM(我不直接针对 Android)。根据构建类型(调试或发布),我想配置日志记录级别(即仅打印发布中的错误)。由于没有BuildConfig可用的类,我如何从commonMain构建类型中知道?

0 投票
1 回答
494 浏览

kotlin-multiplatform - Kotlin 期望实际的数据类型

是否可以在 commonMain 中定义数据类型的期望,然后在 jvmMain 或 jsMain 中提供实际数据类型?

例如,假设我想在 commonMain 类中的 JavaScript 和 Java 中使用 Date 的本地数据类型:

这样的事情可能吗?如果是这样,语法是什么样的?

0 投票
3 回答
1564 浏览

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:

enter image description here

0 投票
1 回答
1482 浏览

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,但现在得到了关注

0 投票
1 回答
236 浏览

gradle - IntelliJ 上的 Kotlin Multiplatform 每次都尝试下载本机依赖项

每次我在其中创建一个新的Kotlin Multiplatform(移动共享库)项目IntelliJ并运行Gradle同步时,都会Gradle尝试下载本机依赖项。这个过程漫长而失败。以下是一些Gradle尝试做的事情的例子:

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

它使每次同步都非常长(几分钟)。我如何让它停止?

我正在使用Gradle5.1。

0 投票
3 回答
5542 浏览

kotlin - 如何在 Kotlin 常用代码中创建动态代理?

如果我在 JVM 上,我可以这样做:

运行它会打印Invoked method: put. 如何在 Kotlin通用项目中做这样的事情?

编辑:我不想在我的公共模块中使用 Java 中的任何东西。我知道常见的项目是如何运作的。相反,我感兴趣的是是否有基于 Kotlin 的解决方案。

编辑 2:我不想代理Map课程。我正在寻找类似ProxyJDK 中的东西,我可以用它来代理任何接口。对困惑感到抱歉。

0 投票
1 回答
1060 浏览

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 语法错误。

怎么了?