You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Desktop Compose应用运行抛出UnsatisfiedLinkError错误求助

Desktop Compose项目运行抛出UnsatisfiedLinkError异常的解决建议

问题描述

数月未运行的Desktop Compose应用,现在在IDE或Gradle中启动均失败,抛出java.lang.UnsatisfiedLinkError异常,具体涉及Skia Native方法调用失败。

环境信息

项目插件版本(build.gradle.kts):

plugins {
    kotlin("multiplatform") version "1.8.20"
    id("org.jetbrains.compose") version "1.4.1"
    id("io.realm.kotlin") version "1.7.1"
}

完整报错信息:

Exception in thread "main" java.lang.UnsatisfiedLinkError: 'void org.jetbrains.skia.CanvasKt._nTranslate(long, float, float)'
    at org.jetbrains.skia.CanvasKt._nTranslate(Native Method)
    at org.jetbrains.skia.CanvasKt.access$_nTranslate(Canvas.kt:1)
    at org.jetbrains.skia.Canvas.translate(Canvas.kt:1085)
    at androidx.compose.ui.graphics.SkiaBackedCanvas.translate(SkiaBackedCanvas.skiko.kt:85)
    at androidx.compose.ui.graphics.drawscope.CanvasDrawScopeKt$asDrawTransform$1.inset(CanvasDrawScope.kt:763)
    at androidx.compose.ui.graphics.painter.Painter.draw-x_KDEd0(Painter.kt:218)
    at androidx.compose.ui.graphics.painter.Painter.draw-x_KDEd0$default(Painter.kt:185)
    at androidx.compose.ui.graphics.PainterImage.asBitmap(DesktopImageConverters.desktop.kt:164)
    at androidx.compose.ui.graphics.PainterImage.getResolutionVariant(DesktopImageConverters.desktop.kt:151)

解决建议

  • 清理缓存并重构项目:执行Gradle的clean和build任务,或者在IDE中选择「Invalidate Caches / Restart」,彻底清除旧构建缓存和Skia本地库缓存。
  • 适配插件版本兼容性:Compose Desktop 1.4.1与Kotlin 1.8.20可能存在Skia依赖适配问题,尝试升级Compose插件到1.5.x及以上兼容版本,同时确保Kotlin版本与Compose版本匹配。
  • 重新下载完整依赖:删除项目根目录下的.gradle文件夹和build文件夹,再执行gradle sync操作,强制重新下载所有依赖(包括Skia的Native库文件)。
  • 检查JDK版本:确保使用JDK 11或17版本,避免JDK版本过高/过低导致Native库加载失败。
  • 重新解析Compose依赖:临时注释build.gradle.kts中的Compose插件配置,同步项目后再取消注释,触发依赖重新解析。

内容的提问来源于stack exchange,提问作者Osman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 08:17:22