android - Gradle 插件 3.0 重写 versionName

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

我迁移到 Android studio 3 并使用 gradle 插件 v3.0.0-beta6。我想重写输出 .apk 文件的 versionName/vesionCode。 我在我的 Android 应用程序模块的 build.gradle 中为 gradle 插件 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中的解决方案成功重写了它

最佳答案

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

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

关于android - Gradle 插件 3.0 重写 versionName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46523079/

相关文章:

android - DeepSpeechDemo 应用程序可与 Gradle cli 一起使用,但在使用 Android Studio 构建时会崩溃

gradle - 如何在 gradle 插件中添加自定义依赖处理程序?

android-gradle-plugin - 合并 Android 单元测试和连接测试代码覆盖率数据已损坏

javascript - Android 后台服务与 React Native

java - Android - 带按钮的 ProgressDialog 有太多空白

android - 单击选项卡不显示主页 Activity

android - 从 Android ListView 中删除重复项

android - 将 JAVA.VERSION 更改为 11 后,我得到 "Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8"

android - 无法解析 : com. github.barteksc :android-pdf-viewer:2. 8.1

java - 添加 androidx.room :room-compiler:2. 1.0-alpha05 后项目未编译