2016-02-08 11 views
11

Dobbiamo sempre incrementare versionCode con un numero arbitrario per pubblicarlo su Google Play.
C'è un limite a quel valore e cosa succederà se viene raggiunto?Esiste un valore massimo per versioncode?

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

    } 
+1

è un numero intero (32 bit) - di conseguenza alla documentazione – Blackbelt

+1

Possibile duplicato di [Lunghezza massima di Android versionName/versionCode (Manifest)] (http://stackoverflow.com/questions/24246143/maximum-length-of- android-versionname-versioncode-manifest) – xenteros

risposta

12

Secondo android documentation e la Gradle DSL documentation:

android:versionCode - Un valore integer che rappresenta la versione del codice di applicazione, rispetto ad altre versioni.

Leggere l'doc java, per default, il tipo di dati int è un 32 bit firmato due del numero intero complemento, che ha un valore minimo di -2^31 ed un valore massimo di (2^31) -1.

Quindi il valore massimo è 2^31-1.

+0

Ecco il documento di Android Gradle DSL - link http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl. ProductFlavor.html # com.android.build.gradle.internal.dsl.ProductFlavor: versionCode – appersiano

13

Aggiornamento 2016/08/11 (UTC):

Il docs è stato aggiornato. Non il vecchio valore MAX_INT né il 2000000000.

Avvertenza: il valore più grande di Google Play consente di versionCode è .


cross-post per la visibilità qui.

Sembra che ci sia stato un recente cambiamento in Google, rendendo solo il massimo versionCode fino a 2000000000.

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


PS: Per coloro che stanno progettando di fornire un riferimento al official documentation dove il valore massimo menzionato è 2147483647, si prega di leggere la risposta prima nel post ho fatto riferimento. Si ricorda che alla data attuale (08/10/2016), non è ancora aggiornato.

+0

Questo non ha senso in quanto il numero dato è circa '150.000' inferiore a' MAX_INT'. – xenteros

+0

@xenteros Hai provato ad aggiornare un'applicazione con un 'versionCode' superiore a quel valore? Provalo. Se tu fossi in grado, rimuoverei questa risposta. –