将版本从 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 中定义的任何其他格式但是,
主要 x 10,000 次要 x 100 补丁 x 1versionCode
必须保持为整数,该整数必须是 大于以前的版本。我个人确定我的版本 通过将每个部分乘以一个因子来编码:因此,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
必须保持为整数,该整数必须大于以前的版本。我个人通过将每个部分乘以一个因子来确定我的版本代码:
因此,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