我们总是要通过一些任意数字递增versionCode
来将其发布到Google Play
该值是否有限,如果达到该值会发生什么?
defaultConfig {
applicationId "my.app"
minSdkVersion 15
targetSdkVersion 22
versionCode 65
versionName "1.05"
setProperty("archivesBaseName", "myapp-$versionCode")
}
答案 0 :(得分:30)
2016年11月11日更新(UTC):
docs已更新。不是旧的<a name="subscribe">Subscribe</a>
值,也不是2000000000。
警告:Google Play允许
MAX_INT
的最大值 2100000000 。
在这里交叉发布可见度。
最近谷歌似乎发生了一次变化,最多只有versionCode
达到200,000,000。
PS:对于那些计划提供official documentation所提到的最大值为2147483647的人,请在我引用的帖子中先阅读答案。它提到截至当前日期(2016年10月8日),它仍未更新。
答案 1 :(得分:15)
根据android documentation和gradle DSL documentation:
android:versionCode
- 一个integer
值,表示相对于其他版本的应用程序代码版本。
检查java doc,默认情况下,int
数据类型是32位带符号的二进制补码整数,其最小值为-2 ^ 31,最大值为(2 ^ 31)-1。
然后最大值 2 ^ 31-1。
答案 2 :(得分:6)
其他回答在技术上是正确的,但您应该注意 Google Play Store only accepts version codes up to 2100000000。
答案 3 :(得分:5)
从Android Pie(9)开始,版本代码为long
(source)。 long
的最大值为9,223,372,036,854,775,807
,因此您不应在此处遇到任何有关长度的问题。
请注意,在较旧的Android版本中,它仍然是int
,因此当minSdkVersion
为28或更高时,这仅与您相关。