org.getbrains.skiko.LibraryLoadException:找不到libskiko-macos-a



我尝试编译https://github.com/CuriousNikhil/k5-compose在M1 MacbookPro上的IntelliJ(Apple Silicon)中,我得到了以下错误

Caused by: org.jetbrains.skiko.LibraryLoadException: Cannot find libskiko-macos-arm64.dylib.sha256, proper native dependency missing.
at org.jetbrains.skiko.Library.load(Library.kt:71)
at org.jetbrains.skiko.HardwareLayer.<clinit>(HardwareLayer.kt:10)

我该如何解决这个问题?

在项目的build.gradle.kts中,将implementation(compose.desktop.currentOs)更改为implementation(compose.desktop.macos_arm64)

当我找到公认的答案时:

更改

implementation(compose.desktop.currentOs)

implementation(compose.desktop.macos_arm64)

文档似乎表明您应该只更新向导的版本:

上面向导中使用的Compose插件版本可能不是最新的。通过编辑build.gradle.kts文件并更新版本信息,更新到最新的插件版本,如下所示。有关最新版本,请参阅最新版本网站和Kotlin网站。

plugins {
kotlin("jvm") version "1.7.20"
id("org.jetbrains.compose") version "1.2.2"
}

这也是有效的,我认为应该更可取。

我也有类似的错误,但针对Linux。

Cannot find libskiko-linux-x64.so.sha256, proper native dependency missing.

将所有内容更新到最新版本并用linux_x64替换currentOs没有什么不同,仍然是相同的错误。

build.gradle.kts中显式添加了对skiko的依赖之后,它运行良好。

implementation("org.jetbrains.skiko:skiko-awt-runtime-linux-x64:0.7.69")

我查看了Skiko本身的文档,发现他们建议以以下方式手动导入(version可能不同):

val osName = System.getProperty("os.name")
val targetOs = when {
osName == "Mac OS X" -> "macos"
osName.startsWith("Win") -> "windows"
osName.startsWith("Linux") -> "linux"
else -> error("Unsupported OS: $osName")
}
val targetArch = when (val osArch = System.getProperty("os.arch")) {
"x86_64", "amd64" -> "x64"
"aarch64" -> "arm64"
else -> error("Unsupported arch: $osArch")
}
val version = "0.7.70" // or any more recent version
val target = "${targetOs}-${targetArch}"
sourceSets {
val jvmMain by getting {
dependencies {
implementation("org.jetbrains.skiko:skiko-awt-runtime-$target:$version")
implementation(compose.desktop.currentOs)
}
}
}

我简单地将其放入以下内容(在build.gradle.kts中):

kotlin {}

但我认为,当你把它放在它的外部时,这也是有效的。但实现当然必须在dependencies {}中。这个解决方案完美地解决了我的问题。我还试图将implementation(compose.desktop.currentOs)更改为implementation(compose.desktop.macos_arm64),但它没有为我解决问题。

我今天在英特尔x64 iMac上遇到了同样的错误,通过升级插件版本解决了这个问题
kotlin("jvm")从1.5.31到1.6.10,id("org.jetbrains.compose")1.0.0到1.1.1
仅供参考,一个月前运行良好。

相关内容

  • 没有找到相关文章

最新更新