AndroidManifest.xml 文件 <manifest> versionCode 属性
Posted
技术标签:
【中文标题】AndroidManifest.xml 文件 <manifest> versionCode 属性【英文标题】:AndroidManifest.xml file <manifest> versionCode attribute 【发布时间】:2010-11-04 11:31:14 【问题描述】:android 开发者网站上的Versioning Your Applications:
你会发布第一个版本的 您的应用程序设置了 versionCode 为 1,然后单调增加 每次发布的价值,无论 该释放是否构成 主要或次要版本。
这一切都很好,但是如何处理这个序列?:
1 1.0 2 1.1 3 1.2 4 1.3 5 1.4 6 2.0 ? 1.5【问题讨论】:
【参考方案1】:我猜你是真的想说“如果我们想要发布下一代技术 2.0 但仍然针对 1.0 系列技术发布 1.5 补丁版本怎么办?”
您的选择是:
-
不要那样做——一旦切换到 2.0,就继续使用 2.0 系列
将 2.0 技术系列作为单独的应用程序发布,可能从 1 开始其序列
嗯……没有#3
我猜你会想要#2。毕竟,根据定义,您是说应用程序有两个当前版本(1.5 和 2.0),因此实际上有两个不同的应用程序。
【讨论】:
他是对的。如果您希望有些人使用 1.5,有些人使用 2.0,那么这是两个不同的受支持应用程序。在 Google Play 应用商店中,每个应用一次只能发布一个版本供下载。【参考方案2】:为了允许多行开发和发布,我们回到过去的基本行号。下面的顺序是按发布日期:
10000 1.0-0 10001 1.0-1 10002 1.0-2 10100 1.1-0 10103 1.1-3 10200 1.2-0 20000 2.0-0 10201 1.2-1上述限制在每个级别(2 位数字)释放 1 到 100 个点和 100 个破折号。每个级别可以使用 10 个(1 位数字),但我从未使用过符合该限制的“真实”软件。鉴于当今的持续集成方法,在某些情况下,每个级别甚至需要 1000(3 位数)。
使用 2 位数字为带符号的 16 位整数提供 31 个主要版本,或为无符号提供 63 个主要版本。如果需要,这应该/可能会给 Android 世界足够的时间去 64 位。
该方法提供了多个分支,可以被程序检查,较高的versionCode数字意味着从较低的数字升级。
Versioning Your Applications 状态:
其他应用...需要查询 应用程序的系统 版本,以确定兼容性 并识别依赖关系
android:versionCode — 一个整数值 代表版本 应用程序代码,相对于其他 版本
该值是一个整数,因此其他 应用程序可以以编程方式 评估它,例如检查一个 升级或降级关系。您可以将值设置为您想要的任何整数, 但是,您应该确保应用程序的每个后续版本都使用更大的值。
剩下的问题是关于“每个连续的版本”。这是否旨在将一个限制为日期,以便您不能同时让 1.2-1 和 2.0-0 成功 1.2-0,除非发布日期按该顺序排列。 versionCode 值:10200、10201 和 20000 提供“升级或降级关系”。还是使用整数值是为了将一个限制为没有分支的单行?
【讨论】:
"然后在每次发布时单调增加值" 请记住,您的解决方案违反了上述原则,只要有 10200 的人会被提示升级到 20000,而移动到 20000 的人将永远不会接收 10201 作为选项。如果你想拥有多个并发产品,让它们成为多个并发产品,并为 2.x 系列和 1.x 系列创建单独的应用程序。以上是关于AndroidManifest.xml 文件 <manifest> versionCode 属性的主要内容,如果未能解决你的问题,请参考以下文章
如何从 APK 文件中查看 AndroidManifest.xml?
SourceTree提交AndroidManifest.xml文件