如何以编程方式访问 Android 中的 apk 生成时间?

How to access apk generated time in Android Programmatically?

是否可以通过编程方式获取 APK 的生成时间?

我想在构建时显示它以用于构建识别目的。

我知道我可以在 gradle 文件中硬编码时间字符串并在我的 Kotlin 代码中访问它们,正如 this 答案所建议的那样,但这意味着每次我必须当我重新生成构建时更改字符串。

如有任何帮助,我们将不胜感激。

我在build.gradle文件中写了下面的代码来实现这个

android {
    buildTypes {
        debug {
            buildConfigField "String", "BUILT_ON", "\"${getBuildDateTime()}\""
        }
    }
}

static def getBuildDateTime() {
    return "Build Generated On: ${new Date().format("dd MMMM, 2018 @ h:mma")}"
}

现在我可以在 Activity

中访问这个变量
Log.d(BuildConfig.BUILT_ON);

您可以在项目的 defaultConfig 中使用此代码来设置应用程序构建时间。

setProperty("archivesBaseName", "Application_Name_$versionName.$versionCode" + "_" + getDate())

static def getDate() {
def date = new Date()
def formattedDate = date.format('yyyy-MMM-dd_EEE_HH.mm')
return formattedDate
}