如何将 KMP 项目打包为 exe?
·
如何将 KMP(Kotlin Multiplatform) 项目打包为 exe?
作为跨平台开发的利器,Kotlin Multiplatform 让开发者能用一套代码构建多端应用。本文将手把手教你如何将 KMP 项目编译为 Windows 可执行文件(EXE),解决打包过程中的常见痛点!
一、Gradle 配置关键步骤
在项目的 build.gradle.kts 文件中添加以下配置:
...
compose.desktop {
application {
mainClass = "com.niki.MainKt" // 替换为你的主类路径
nativeDistributions {
targetFormats(TargetFormat.Exe, TargetFormat.Msi) // 同时生成EXE和MSI
packageName = "YourAppName" // 自定义应用名称
packageVersion = "1.0.0" // 设置版本号
windows {
...
msiPackageVersion = packageVersion
exePackageVersion = packageVersion
}
}
}
}
配置说明:
- mainClass:入口类路径,格式为
包名.主Kt文件(不带.kt后缀,例如com.niki.MainKt) - packageName:安装后显示的应用名称
- upgradeUuid:使用
uuidgen生成唯一ID(Windows更新必需,此处没有演示) - 推荐:添加
menu = true可创建开始菜单快捷方式
二、一键生成 EXE 文件
在项目根目录执行命令:
./gradlew packageExe
构建过程解析:
- 自动下载 Wix Toolset(Windows 安装包构建工具)
- 编译 Kotlin 代码为原生二进制
- 打包依赖库和资源文件
- 生成 EXE 安装包
三、解决 Wix 下载问题
国内环境常因网络问题(github)导致下载超慢或无法下载导致构建失败,比如出现:downloadWix failed的情况),可行的解决方案为:
这一般是wix311-binaries.zip下载失败所致。可以先停止打包, 根据窗口中提示的链接,例如:
下载 wix311
直接点击链接在浏览器手动下载, 然后复制到:C:\Users\xxx\.gradle\compose-jb\目录中, 改名为wix311.zip, 重新启动打包任务,即可成功。

四、定位生成的可执行文件
构建成功后,在以下路径获取成果物:build/compose/binaries/main/exe/


通过以上步骤,你的 KMP 应用已成功打包为发行版 Windows 安装程序!
更多推荐



所有评论(0)