问题标签 [kmm]

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 投票
3 回答
4338 浏览

kotlin - 将 Gradle 子项目与 Kotlin 多平台一起使用

我正在使用 Kotlin 多平台(JVM 和 JS),它在 IDEA 中创建了三个项目demodemo-jsdemo-jvm.

我想将通用代码拆分为更多的子项目/子模块。假设我添加commonmod;我如何使它编译?

对于 , 现在的错误gradle run -p demo-jvm是:

但我认为我这样做从根本上是错误的,因为我不知道什么应该取决于什么(尽管我尝试了很多迭代)。如果我解决了这个错误,我会得到其他错误,然后再得到其他错误,直到我回到这个错误。


作为一个最小但仍然很大的例子,我有:

演示/settings.gradle

演示/build.gradle

演示/演示-jvm/settings.gradle

演示/演示-jvm/build.gradle

演示/演示-js/settings.gradle

演示/演示-js/build.gradle

演示/commonmod/settings.gradle

演示/commonmod/build.gradle

0 投票
2 回答
1928 浏览

kotlin - 无法在 kotlin 多平台中访问预期的类构造函数参数

我目前正在使用 kotlin 开发一个多平台模块。为此,我依靠expect/actual机制

我声明了一个简单的类Common.kt

我想在通用方法中使用定义的类(也存在于 中Common.kt):

实际实现定义在Jvm.kt

问题是我的hello函数中出现以下错误

未解决的参考:名称

我究竟做错了什么?

0 投票
1 回答
455 浏览

android - 使用 Kotlin Multiplatform Mobile (KMM) 的多平台应用程序中的 DataBinding 错误

我是 Kotlin 的新手,我遇到了 DataBinding 的问题 - C不能访问类 ViewModel。检查您的模块类路径是否存在缺失或冲突的依赖项。但是 DataBinding 是在块buildFeatures中连接的

我的 build.gradle.kts(androidApp):

我得到错误的片段:

布局:

视图模型:

Git 上的这个项目: https ://github.com/Diy2210/com.rompos.activator.kmm

0 投票
1 回答
1701 浏览

windows - KMM 是否适用于 Android Studio - Windows 版本

我需要为 iOS 和 Android 构建一个应用程序。
重新启动 Android Studio 后出现此错误。

Kotlin Multiplatform Mobile 插件问题
Kotlin Multiplatform Mobile 插件应该只能在 macOS 上运行

我正在使用Windows机器。
请告诉我,如果有任何解决这个问题的方法。

0 投票
0 回答
109 浏览

android-studio - 我的 iPhone 不会出现在 Android Studio 的“执行列表”中

我正在尝试使用 Kotlin Multiplatform Mobile,并尝试在 iPhone 上运行演示应用程序。我可以在 Android Studio 本身的 iPhone 模拟器上轻松运行它,但如果我将真正的 iPhone 连接到 MacBook,我无法在 Android Studio 的“执行目标”列表中看到它。

在此处输入图像描述

请注意,如果我使用 Xcode 打开项目,我可以在真正的 iPhone 上运行它。难道我做错了什么?

在此处输入图像描述

0 投票
1 回答
656 浏览

android-studio - Kotlin Multiplatform Mobile - 从 Android 工作室运行 ios 应用程序时出现问题

我正在探索 KMM,我已经完成了 Android Studio 中的设置。我可以完美地运行 Android 应用程序,但是当我尝试运行 ios 应用程序时,遇到了配置设置问题。Xcode 项目方案 Dropdown 为空。我附上了截图供参考。

  • 安卓工作室 v4.1.2
  • Xcode 11.4
  • Mac OS 10.15.4
  • Kotlin 插件版本 1.4.20。

笔记:

  • 我尝试指定 Xcode 项目位置。但没有运气。
  • 但是当我直接从 Xcode 启动 ios 应用程序时,该应用程序运行良好。

在此处输入图像描述

0 投票
1 回答
235 浏览

javascript - 在 ktor httpClient(js) JS 引擎中忽略自签名证书的配置

Kotlin 多平台库,我的设置如下所示。显然,我的 JS 测试失败并出现错误“错误:无法获取”,因为 Ktor httpClient(JS) 未配置为忽略/信任自签名证书。并根据文档“Js 引擎没有自定义配置”。所以我的问题是有没有办法让我的测试通过 JS 平台。或者您知道任何解决方法吗?还是我在这里遗漏了什么?



0 投票
1 回答
181 浏览

android-studio - sqldelight Generation 的 Gradle 构建失败,第 17:10 行 - '{' 预期,得到 ':' Android Studio 版本 4.1.2

我正在将一个正常工作的 Android Studio 应用程序转换为 KMM 环境。至此,我有了一个非常简单的 KMM 框架。一旦我添加SQLDelight到公共包中,我开始在我的构建中收到以下错误。我检查了我能找到的每一个例子,但看不出有什么问题。如果可以的话请帮忙?

这是错误消息:

生成失败;有关详细信息,请参阅生成器错误输出任务:shared:generateAndroidDebugPicturesDBInterface FAILED WARN:已访问注册表项“psi.track.invalidation”,但尚未加载

警告:已访问注册表项“psi.incremental.reparse.depth.limit”,但尚未加载

警告:已访问注册表项“ide.hide.excluded.files”,但尚未加载

C:/Users/pagel/AndroidStudioProjects/DailyNasa/shared/src/commonMain/sqldelight/com/pagetyler/shared/cache/Pictures.sq 行 17:10 - '{' 预期,得到 ':' 17:

任务 ':shared:generateAndroidDebugPicturesDBInterface' 执行失败。生成失败;有关详细信息,请参阅生成器错误输出。`

它无法处理应该用来生成表和查询的 .sq 文件。当它在指定第一个查询标签后遇到文件中的第一个“:”时。这是 .sq 文件脚本。getAllPict:在指定的第一个查询标签之后构建失败。

这是 .sq 文件

直到第一个错误的新版本。更新 2020-3-5 相同的结果

0 投票
3 回答
2132 浏览

android - Kotlin Multiplatform Mobile 可以与 Jetpack Compose 一起使用吗?

有 2 个问题不允许在这些技术之间产生兼容性

喷气背包组成

第一个问题是它只适用于 Android Studio Canary x。

  • Android Studio 4.2 测试版 6

Jetpack Compose 是一项预览功能,仅在 Canary 版本的 Android Studio 中包含对 Compose 的支持。要在您的应用项目中使用 Compose,请下载并安装最新的 Canary 版本的 IDE。

Jetpack Compose 适用于:

  • Android Studio 金丝雀
  • 科特林 1.4.30
  • 分布网址:6.8.2
  • AGP:7.0.0-alpha11
  • JavaVersion.VERSION_11

Kotlin 多平台移动

第二个问题是 Android Studio Canary 构建在 Kotlin Multiplatform Mobile 中存在错误。我正在使用以下内容:

  • Android Studio 北极狐 | 2020.3.1 金丝雀 11
  • gradle-wrapper.properties
  • build.gradle (Project)
  • JavaVersion.VERSION_11

错误(问题/KT-43944):

目前 KMM 工作的唯一解决方法是使用 Android Studio Beta(但这与 Jetpack Compose 不兼容)。

安装 Android Studio – 4.2 或更高版本。

鉴于此,我将无法面对 2 个解决方案。让 Compose 在 Android Studio Beta 版本上工作或修复 Android Studio Canary 中的 KMM 错误。

需要注意的是,KMM 和 Jetpack Compose 使用不同版本的 AGP 和 gradle 发行版。然后我突然想到,我不知道是否有可能,延迟版本共存于同一个项目中。

欢迎任何建议。

谢谢

0 投票
1 回答
863 浏览

kotlin - Kotlin Multiplatform Mobile:项目已经有一个名为 SDWebImage 的 CocoaPods 依赖项

我创建了一个演示项目来将 cocoapods 集成到 KMM 项目中。我从官方网站上关注了这个链接。step 3重新导入项目时,我收到以下错误。

Project already has a CocoaPods dependency with name SDWebImage,之后我什至无法在 KMM 中导入这个库。

有人可以帮忙吗?

更新:添加build.gradle.kts