true tag supportsrtl schemas res registered not fullbackupcontent false debuggable application android gradle android-gradle build.gradle

android - tag - ¿Hay un valor máximo para versioncode?



schemas android apk res (3)

Siempre tenemos que incrementar versionCode por algún número arbitrario para publicarlo en Google Play.
¿Hay un límite a ese valor y qué pasará si se alcanza?

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


A partir de Android Pie (9), el código de la versión será long ( source ). El valor máximo de un long es 9,223,372,036,854,775,807 por lo que no debería tener problemas relacionados con la longitud aquí.

Ten en cuenta que todavía es un int en versiones anteriores de Android, por lo que esto solo es relevante para ti cuando tu minSdkVersion sea ​​28 o superior.


Actualización 08/11/2016 (UTC):

La docs ha sido actualizada. No el antiguo valor MAX_INT ni el 2000000000.

Advertencia: el mayor valor que Google Play permite para versionCode es 2100000000 .

Cross-post para la visibilidad aquí.

Parece que hubo un cambio reciente en Google, lo que hace que el máximo del versionCode de versionCode solo de 2000000000.

Publicación de referencia: error de Google Play Developer Console: el código de versión de su APK es alto y corre el riesgo de no poder actualizar su APK

PD: Para aquellos que planean proporcionar una referencia a la docs donde el valor máximo mencionado es 2147483647, lea primero la respuesta en la publicación a la que hice referencia. Menciona que a partir de la fecha actual (08/10/2016), todavía no está actualizado.


Según la documentación de Android y la documentación DSL de gradle:

android:versionCode - Un valor integer que representa la versión del código de la aplicación, en relación con otras versiones.

Al verificar el documento de Java, de forma predeterminada, el tipo de datos int es un entero de complemento de dos con signo de 32 bits, que tiene un valor mínimo de -2 ^ 31 y un valor máximo de (2 ^ 31) -1.

Entonces el valor máximo es 2 ^ 31-1.