【问题标题】:Gradle plugin 3.0 rewrite versionNameGradle 插件 3.0 重写 versionName
【发布时间】:2017-10-02 09:39:44
【问题描述】:

我迁移到 Android Studio 3 并使用 gradle 插件 v3.0.0-beta6。我想重写输出 .apk 文件的 versionName/vesionCode。 我在我的 Android 应用模块的 build.gradle 中为 gradle plugin 2.x 使用了以下代码

applicationVariants.all { variant ->
    def flavor = variant.mergedFlavor

    flavor.versionName="${VERSION_NAME}"
    if (variant.buildType.isDebuggable()) {
        flavor.versionCode=9999
    } else {
        flavor.versionCode=Integer.parseInt(gitCommitCount)
    }
}

它不适用于 gradle 插件 v3.0.0-beta6。对于versionCode,我用Gradle 3.0.0 alpha variant output issue中的解决方案成功改写了

【问题讨论】:

    标签: android gradle android-gradle-plugin build.gradle


    【解决方案1】:

    您可以使用 ApkVariantOutput.setVersionCodeOverride 方法。就像下面这样:

    applicationVariants.all { variant ->
        if (variant.buildType.name == "release") {
            variant.outputs.all {
                setVersionCodeOverride(project.VERSION_CODE.toInteger())
                setVersionNameOverride(project.VERSION_NAME)
            }
        }
    }
    

    【讨论】:

    • setVersionNameOverride() 仅在 AndroidManifest 中更新,而不在 BuildConfig 文件中更新
    • @SankarV 你有没有想过如何在 BuildConfig 文件中更新它?
    • @Squeazer 我在默认配置中设置了它。我有一个带有参数的方法,它会根据参数(调试/发布)返回正确的版本名称。每当我生成发布版本时,我都会手动更改参数
    猜你喜欢
    • 1970-01-01
    • 2018-06-03
    • 2017-10-12
    • 1970-01-01
    • 2018-04-18
    • 1970-01-01
    • 2013-08-22
    • 2014-05-06
    • 1970-01-01
    相关资源
    最近更新 更多