Максимальное значение для кода версии?

Нам всегда нужно увеличивать versionCode на некоторый произвольный номер, чтобы опубликовать его в google play.
Есть ли предел этому значению и что произойдет, если оно будет достигнуто?

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

    }

Ответ 1

Обновление 08/11/2016 (UTC):

Документы были обновлены. Не старое значение MAX_INT не 2000000000.

Предупреждение: Наибольшее значение Google Play позволяет versionCode является 2100000000.


Кросс-пост для наглядности здесь.

Похоже, что в Google недавно произошли изменения, в результате чего максимальная versionCode кода только до 2000000000.

Ссылка: ошибка консоли разработчика Google Play: код версии вашего APK высокий, и вы рискуете не иметь возможности обновить ваш APK


PS: Для тех, кто планирует предоставить ссылку на официальную документацию, где упомянутое максимальное значение равно 2147483647, сначала прочтите ответ в посте, на который я ссылался. В нем упоминается, что по состоянию на текущую дату (10.08.2016), он до сих пор не обновлен.

Ответ 2

В соответствии с документация по android и gradle документация DSL:

android:versionCode - Значение integer, которое представляет версию кода приложения по сравнению с другими версиями.

Проверка документа java по умолчанию, тип данных int - это 32-разрядное двухзначное целочисленное целое число с минимальным значением -2 ^ 31 и максимальное значение (2 ^ 31) -1.

Тогда максимальное значение 2 ^ 31-1.

Ответ 3

Начиная с Android Pie (9), код версии будет long (исходный код). Максимальное значение long составляет 9 9,223,372,036,854,775,807 поэтому здесь не следует сталкиваться с какими-либо проблемами, касающимися длины.

Обратите внимание, что это все еще int в более старых версиях Android, так что это относится только к вам, когда ваш minSdkVersion 28 или выше.