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

如何在IntelliJ IDEA中修改Compose Desktop应用(.exe)图标?

Compose Desktop 替换.exe自定义图标解决方案

核心问题说明

打包Windows可分发exe时,默认Kotlin图标未被自定义窗口/托盘图标替换,需单独配置打包阶段的exe图标参数,并确保资源与构建流程正确。


步骤1:配置Windows打包图标路径

在项目的构建脚本(build.gradle.kts 或 build.gradle)中,针对nativeDistributions下的Windows配置块指定ICO格式的图标文件:

Kotlin DSL(build.gradle.kts)示例:

compose.desktop {
    application {
        mainClass = "MainKt"
        nativeDistributions {
            targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
            packageName = "你的应用名称"
            packageVersion = "1.0.0"
            windows {
                // 指定ICO格式图标文件路径,建议放在src/main/resources目录下
                iconFile.set(file("src/main/resources/app-icon.ico"))
                menuGroup = "你的应用分组"
            }
        }
    }
}

Groovy DSL(build.gradle)示例:

compose.desktop {
    application {
        mainClass = 'MainKt'
        nativeDistributions {
            targetFormats = [TargetFormat.DMG, TargetFormat.MSI, TargetFormat.DEB]
            packageName = '你的应用名称'
            packageVersion = '1.0.0'
            windows {
                iconFile = file('src/main/resources/app-icon.ico')
            }
        }
    }
}

步骤2:确保图标文件符合要求

  • 必须使用Windows标准ICO格式,建议包含256x256、128x128、64x64等多尺寸适配(避免缩放失真),可通过专业工具(如IconWorkshop)或在线ICO生成器制作。
  • 图标文件需放置在src/main/resources目录下,确保Gradle打包时能正确读取资源。

步骤3:清理缓存并重新构建

旧构建缓存可能导致图标未更新,执行以下命令清理后重新打包:

./gradlew clean
./gradlew packageDistributionForCurrentOS

构建完成后,在build/compose/binaries/main/windows目录下查看生成的exe文件,确认图标已替换。

额外:统一窗口与托盘图标

若需窗口和托盘图标与exe图标保持一致,可在代码中配置:

  • 窗口图标:
Window(
    onCloseRequest = ::exitApplication,
    title = "你的应用",
    icon = painterResource("app-icon.png") // 支持PNG等格式
) {
    // 应用UI内容
}
  • 托盘图标:
val trayIcon = painterResource("tray-icon.png")
Tray(
    icon = trayIcon,
    menu = {
        // 托盘菜单配置
    }
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 18:03:12