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

如何在Jetpack Compose(IntelliJ IDEA桌面版)中获取应用版本号?

在Kotlin桌面项目中从build.gradle.kts读取版本号到代码中

你已经在build.gradle.kts中配置了项目版本信息:

group = "br.com.example" 
version = "1.0.0"

需要在代码中调用该版本号,实现输出Hello World Project v.1.0.0的效果,以下是两种无需version.properties文件的实现方案:

方案一:生成BuildConfig常量类

通过Gradle任务自动生成包含版本号的Kotlin类,直接在代码中引用常量:

  1. 在build.gradle.kts中添加配置:
plugins {
    kotlin("jvm") // 确保已应用Kotlin JVM插件
}

// 注册生成BuildConfig的任务
val generateBuildConfig by tasks.registering {
    val outputDir = layout.buildDirectory.dir("generated/source/buildConfig/main/br/com/example")
    outputs.dir(outputDir)

    doLast {
        outputDir.get().asFile.mkdirs()
        val buildConfigFile = outputDir.get().file("BuildConfig.kt").asFile
        buildConfigFile.writeText(
            """
            package br.com.example

            object BuildConfig {
                const val VERSION = "${project.version}"
                const val GROUP = "${project.group}"
            }
            """.trimIndent()
        )
    }
}

// 让编译Kotlin代码的任务依赖于BuildConfig生成任务
tasks.compileKotlin {
    dependsOn(generateBuildConfig)
}
  1. 在代码中引用生成的常量:
import br.com.example.BuildConfig

fun main() {
    val title = "Hello World Project v.${BuildConfig.VERSION}"
    println(title)
}

方案二:通过资源文件传递版本号

利用Gradle的资源替换功能,将版本号注入到资源文件中,再在代码中读取:

  1. 在build.gradle.kts中开启资源替换:
tasks.processResources {
    expand(mapOf("projectVersion" to project.version))
}
  1. 在src/main/resources目录下创建app.properties文件:
app.version=${projectVersion}
  1. 在代码中读取资源文件获取版本号:
import java.util.Properties

fun main() {
    val properties = Properties()
    properties.load(Thread.currentThread().contextClassLoader.getResourceAsStream("app.properties"))
    val version = properties.getProperty("app.version")
    val title = "Hello World Project v.$version"
    println(title)
}

两种方案都能实现从build.gradle.kts传递版本号到代码的需求,可根据项目习惯选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 04:56:03