问题标签 [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.
kotlin - 将 Gradle 子项目与 Kotlin 多平台一起使用
我正在使用 Kotlin 多平台(JVM 和 JS),它在 IDEA 中创建了三个项目demo
:demo-js
和demo-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:
kotlin - 无法在 kotlin 多平台中访问预期的类构造函数参数
我目前正在使用 kotlin 开发一个多平台模块。为此,我依靠expect
/actual
机制。
我声明了一个简单的类Common.kt
:
我想在通用方法中使用定义的类(也存在于 中Common.kt
):
实际实现定义在Jvm.kt
:
问题是我的hello
函数中出现以下错误
未解决的参考:名称
我究竟做错了什么?
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
windows - KMM 是否适用于 Android Studio - Windows 版本
我需要为 iOS 和 Android 构建一个应用程序。
重新启动 Android Studio 后出现此错误。
Kotlin Multiplatform Mobile 插件问题
Kotlin Multiplatform Mobile 插件应该只能在 macOS 上运行
我正在使用Windows机器。
请告诉我,如果有任何解决这个问题的方法。
javascript - 在 ktor httpClient(js) JS 引擎中忽略自签名证书的配置
Kotlin 多平台库,我的设置如下所示。显然,我的 JS 测试失败并出现错误“错误:无法获取”,因为 Ktor httpClient(JS) 未配置为忽略/信任自签名证书。并根据文档“Js 引擎没有自定义配置”。所以我的问题是有没有办法让我的测试通过 JS 平台。或者您知道任何解决方法吗?还是我在这里遗漏了什么?
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 相同的结果
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 不兼容)。
鉴于此,我将无法面对 2 个解决方案。让 Compose 在 Android Studio Beta 版本上工作或修复 Android Studio Canary 中的 KMM 错误。
需要注意的是,KMM 和 Jetpack Compose 使用不同版本的 AGP 和 gradle 发行版。然后我突然想到,我不知道是否有可能,延迟版本共存于同一个项目中。
欢迎任何建议。
谢谢
kotlin - Kotlin Multiplatform Mobile:项目已经有一个名为 SDWebImage 的 CocoaPods 依赖项
我创建了一个演示项目来将 cocoapods 集成到 KMM 项目中。我从官方网站上关注了这个链接。在step 3
重新导入项目时,我收到以下错误。
Project already has a CocoaPods dependency with name SDWebImage
,之后我什至无法在 KMM 中导入这个库。
有人可以帮忙吗?
更新:添加build.gradle.kts