Android BuildConfig.VERSION_NAME 的变化

Changes in Android BuildConfig.VERSION_NAME

今天我注意到我的调试版本坏了,因为 BuildConfig.VERSION_NAME 现在 returns

1.6-debug

而不是

1.6

以前是这样工作的。有谁知道关于此更改是否有任何文档更改?

如果您正在构建调试变体,它现在会在您调用 BuildConfig.VERSION_NAME 时附加 -debug,而以前不是这种情况。
无论是发布版本还是调试版本,BuildConfig.VERSION_NAME 的值始终相同。

defaultConfig {
        applicationId "com.myapplication.id"
        minSdkVersion 21
        targetSdkVersion 29
        versionCode 106
        versionName "1.6"
        multiDexEnabled true //important
        vectorDrawables.useSupportLibrary = true
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

buildTypes {
    debug {
        minifyEnabled false
        useProguard false
        debuggable true
        buildConfigField "Boolean", "DEBUG_MODE", "true"
        versionNameSuffix "-debug"
    }
}

VERSION_NAME 是您 build.gradle 中的版本名称。也许您有多个针对不同构建变体的构建文件,或者只是将构建变体附加到您的版本名称。

删除 build.gradle 文件中的 versionNameSuffix "-debug"

buildTypes {
    debug {
        ....
        //versionNameSuffix "-debug"
    }
}

您可以查看 doc:

Version name suffix. It is appended to the "base" version name when calculating the final version name for a variant.
In case there are product flavor dimensions specified, the final version name suffix will contain the suffix from the default product flavor, followed by the suffix from product flavor of the first dimension, second dimension and so on.