将版本从 MAJOR.MINOR 更改为 MAJOR.MINOR.PATCH

Posted

技术标签:

【中文标题】将版本从 MAJOR.MINOR 更改为 MAJOR.MINOR.PATCH【英文标题】:Changing version from MAJOR.MINOR to MAJOR.MINOR.PATCH 【发布时间】:2019-07-02 10:58:56 【问题描述】:

我在 Playstore 上有一个 android 应用程序,目前,我们使用 MAJOR.MINOR(例如 2.1)版本格式。 我想将其更改为 MAJOR.MINOR.PATCH 格式。我怎么做?为此的任何特定过程,或者只是在下一个版本(例如 2.1.1)中将 PATCH 版本添加到版本代码中。请提出建议。

【问题讨论】:

看起来你在谈论vaesionName。它只是您版本的人类可读字符串,可以是任何内容,甚至包括单词:twooneone 例如。 Google Play 完全不在乎你在里面写了什么。因此,您可以立即开始在那里添加补丁。 【参考方案1】:

除了Michael响应,可以这样实现。

在您的应用级 build.gradle 中,versionName 属性是 字符串,可以定义成任何你喜欢的格式,例如:

主要次要,例如2.1 主要的次要补丁,例如2.1.1 主要次要补丁 + commitHash 例如2.1.1+a2b3c4d5 或Semantic Versioning 中定义的任何其他格式

但是,versionCode 必须保持为整数,该整数必须是 大于以前的版本。我个人确定我的版本 通过将每个部分乘以一个因子来编码:

主要 x 10,000 次要 x 100 补丁 x 1

因此,2.1.1 的 versionName 将具有 20101 的 versionCode。这个 允许 100 个补丁和 100 个小增量,从 0 开始。

build.gradle中定义3个变量并像这样使用:

defaultConfig 
    ...

    def majorVersion = 2
    def minorVersion = 1
    def patchVersion = 1

    versionCode majorVersion * 10000 + minorVersion * 100 + patchVersion
    versionName "$majorVersion.$minorVersion.$patchVersion"

    ...

【讨论】:

【参考方案2】:

在您的应用级build.gradle 中,versionName 属性是一个字符串,可以以您喜欢的任何格式定义,例如:

主要次要,例如2.1 主要的次要补丁,例如2.1.1 主要次要补丁 + commitHash 例如2.1.1+a2b3c4d5 或Semantic Versioning 中定义的任何其他格式

但是,versionCode 必须保持为整数,该整数必须大于以前的版本。我个人通过将每个部分乘以一个因子来确定我的版本代码:

主要 x 10,000 次要 x 100 补丁 x 1

因此,2.1.1 的 versionName 将具有 20101 的 versionCode。这允许 100 个补丁和 100 个小增量,从 0 开始。

【讨论】:

【参考方案3】:

您只需添加新版本名称。

该版本名称完全取决于您,并且在内部没有任何用途,除了为用户和开发人员制作可读的文本字符串。

在内部,重要的是版本代码,因此您可以随意重命名版本名称,而无需担心。

【讨论】:

以上是关于将版本从 MAJOR.MINOR 更改为 MAJOR.MINOR.PATCH的主要内容,如果未能解决你的问题,请参考以下文章

如何从 TFS CI 任务的源代码中获取版本(major.minor.patch)号

Android studio Unsupported major.minor version 52.0

idea 2017.3创建springboot项目报无效的源发行版: 1.8或者Unsupported major.minor version 52.0的解决方案

Jenkins Android 库 - 不支持的 major.minor 版本 51.0

Unsupported major.minor version 52.0

ERROR Review:Unsupported major.minor version 52.0