Flutter: aggiorna il codice della versione per Play Store


108

Ho pubblicato un'applicazione sul Play Store con flutter, ora voglio caricare una nuova versione dell'applicazione. Sto provando a cambiare il codice della versione con:

flutter build apk --build-name = 1.0.2 --build-number = 3

o modificando le proprietà local.properties in questo modo

 flutter.versionName=2.0.0
 flutter.versionCode=2
 flutter.buildMode=release

ma ogni volta che ricevo un errore sul playstore

Devi utilizzare un codice di versione diverso per il tuo APK o Android App Bundle perché il codice 1 è già assegnato a un altro APK o Android App Bundle.

Risposte:


241

versione nel file pubspec.yaml

Aggiorna version:A.B.C+Xin pubspec.yaml.

Per Android:

A.B.Crappresenta il versionNamecome 1.0.0.

X(il numero dopo il +) rappresenta la versionCodequale 1, 2, 3, etc.

Non dimenticare di eseguire flutter packages get, flutter buildo flutter rundopo questo passaggio, perché: Quando esegui flutter packages getdopo aver aggiornato questo versionnel pubspecfile, vengono aggiornati versionNamee versionCodein local.propertiesche vengono successivamente ripresi build.gradle (app)quando crei il tuo progetto flutter usando flutter buildo flutter runche è in ultima analisi responsabile dell'impostazione del versionNamee versionCodeper l'apk.

Per iOS:

A.B.Crappresenta il CFBundleShortVersionStringcome 1.0.0.

X(il numero dopo il +) rappresenta la CFBundleVersionquale 1, 2, 3, etc.

Non dimenticare di eseguire flutter packages get, flutter buildo flutter rundopo questo passaggio


5
Questa è la risposta corretta e dovrebbe essere la risposta accettata.
Daniel Allen,

16
grazie! per Android, il punto chiave è eseguire flutter rundopo aver modificato pubspec.yaml altrimenti Android Studio creerà apk / aab con il codice della vecchia versione basato su local.properties
Dika

4
quindi in un momento successivo, un'app può sembrare 5.1.3+201giusto?
Chuck K

Per ogni versione, anche il codice della versione deve essere modificato. Ad esempio, non è possibile modificare semplicemente il nome della versione da 1.0.0 + 1 a 1.1.0 + 1. Deve essere cambiato in 1.1.0 + 2
akfaisel

@ChuckK corretto.
Rohan Taneja

143

Ho capito questo. La documentazione non è semplice

nella tua pubspec.yamlmodifica la versione in questo modo

version: 1.0.2+2

dove la roba è VER_NAME +VER_CODE


19
Non posso credere che questo non sia fornito nella documentazione ufficiale di spedizione . È così frustrante trovare la risposta qui ...
Tokenyet

8
La strategia qui è corretta, ma il numero intero dopo il + è il versionCode, non il versionName.
Daniel Allen,

@Tokenyet È ora :)
Rohan Taneja

Come ha detto @DanielAllen: versionName è prima del + e versionCode è dopo il +
Alex Semeniuk

2
1.0.2 è versionName e +2 è versionCode. Grazie! Questo mi ha aiutato molto!
Renan Coelho

18

Soluzione:

All'interno di pubspec.yaml aggiungi questo (probabilmente dopo la descrizione, stesso rientro della descrizione, nome ecc ...):

version: 2.0.0+2

Quindi i pacchetti entrano nella directory locale di flutter (non dimenticare di farlo)

Spiegazione:

Tutto prima del plus è il nome della versione e dopo è il codice della versione. Quindi qui il codice della versione è 2 e il nome è 2.0.0. Ogni volta che fornisci un aggiornamento all'app flutter assicurati di cambiare il codice della versione obbligatoriamente!

Informazioni aggiuntive:

Ogni volta che viene creata un'app Android, build.gradle all'interno di Android / app / cerca il codice e il nome della versione. Questo di solito si trova in local.properties che viene cambiato ogni volta che cambi flutter pubspec.yaml


6

Aggiornamento del numero di versione dell'app Il numero di versione predefinito dell'app è 1.0.0. Per aggiornarlo, vai al file pubspec.yaml e aggiorna la seguente riga:

versione: 1.0.0 + 1

Il numero di versione è composto da tre numeri separati da punti, come 1.0.0 nell'esempio sopra, seguito da un numero di build opzionale come 1 nell'esempio sopra, separato da un +.

Sia la versione che il numero di build possono essere sovrascritti nella build di Flutter specificando rispettivamente --build-name e --build-number.

In Android, il nome build viene utilizzato come versionName mentre il numero build viene utilizzato come versionCode. Per ulteriori informazioni, consulta la sezione relativa alla versione dell'app nella documentazione di Android.


Ecco il collegamento alla documentazione ufficiale della distribuzione: Aggiornamento del numero di versione dell'app
Ahmad Payan

6

Il numero di versione predefinito dell'app è 1.0.0. Per aggiornarlo, vai al pubspec.yamlfile e aggiorna la seguente riga:

version: 1.0.0+1

Basta cambiare quella versione in (secondo le tue necessità)

version: 1.0.1+2

Il numero di versione è composto da tre numeri separati da punti, come 1.0.0 nell'esempio sopra, seguito da un numero di build opzionale come 1 nell'esempio sopra, separato da un +.

Sia la versione che il numero di build possono essere sovrascritti nella build di Flutter specificando rispettivamente --build-name e --build-number.

In Android, il nome build viene utilizzato come versionName mentre il numero build viene utilizzato come versionCode. Per ulteriori informazioni, consulta Creare la versione dell'app

Dopo aver aggiornato il numero di versione in pubspec file, esegui flutter pubget dalla parte superiore del progetto o usa il pulsante Pub get nel tuo IDE. Questo aggiorna il versionNamee versionCodenel local.propertiesfile, che vengono successivamente aggiornati nel build.gradlefile quando ricostruisci l'app Flutter.


3

Per Android

"XYZ + n" qui "xyz" rappresenta il VERSION NAME e "n" rappresenta il VERSION NUMBER . Le seguenti modifiche da apportare:

  1. Nel pubspec.yamlmodificare il numero di versione.
  2. Aggiorna il tuo local.propertieseseguendo il flutter pub getcomando.
  3. Ora crea il tuo apk o app bundle eseguendo flutter build apko flutter build appbundlecommand.

1

Per prima cosa cambia la versione di flutter in pubspec.yaml example `version 1.0.3 + 4

In caso di Android, vai su local.properties, quindi cambia il nome della versione e il codice come il codice e il nome della versione di flutter.

In caso di Ios vai a generated.xcconfig che chnage FLUTTER_BUILD_NAME = 1.0.3 FLUTTER_BUILD_NUMBER = 4`


non è necessario modificare local.properties e generated.config
Marcel Hofgesang,


1

Dai un'occhiata

android{
//....
  defaultConfig {
  //....
  version code:2
  }
}

su Android> app> Build.gradle dalla cartella principale del progetto



1

Puoi ancora fare completamente le tue cose sovrascrivendo in android / app / build.gradle:

  • def flutterVersionCode
  • def flutterVersionName

ai tuoi valori.


0
  • in pubspec.yml version: 1.0.0+1
  • cambia in version: 1.0.0+2
  • flutter build ios --release-name --release-number aggiornerà la versione in ios
  • flutter pub get && flutter run aggiornerà la versione per Android (android / local.properties)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.