Is there a max value for versioncode?

折月煮酒 提交于 2019-11-29 10:57:45

问题


We always have to increment versionCode by some arbitary number to publish it to google play.
Is there limit to that value and what will happen if it is reached?

defaultConfig {
        applicationId "my.app"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 65
        versionName "1.05"
        setProperty("archivesBaseName", "myapp-$versionCode")

    }

回答1:


Update 08/11/2016 (UTC):

The docs has been updated. Not the old MAX_INT value nor the 2000000000.

Warning: The greatest value Google Play allows for versionCode is 2100000000.


Cross-post for visibility here.

It seems there was a recent change in Google, making the maximum versionCode up to 2000000000 only.

Reference post: Google Play Developer Console error: The version code of your APK is high and you risk not being able to update your APK


PS: For those who are planning to provide reference to the official documentation where the mentioned max value is 2147483647, please read the answer first in the post I referenced. It mentions that as of current date (08/10/2016), its still not updated.




回答2:


According to android documentation and the gradle DSL documentation:

android:versionCode — An integer value that represents the version of the application code, relative to other versions.

Checking the java doc, by default, the int data type is a 32-bit signed two's complement integer, which has a minimum value of -2^31 and a maximum value of (2^31)-1.

Then the maximum value is 2^31-1.




回答3:


Starting at Android Pie (9), the version code will be a long (source). The max value of a long is 9,223,372,036,854,775,807 so you shouldn't run into any issues regarding length here.

Do note that it's still an int in older android versions, so this is only relevant to you when your minSdkVersion is 28 or higher.



来源:https://stackoverflow.com/questions/35275071/is-there-a-max-value-for-versioncode

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!