Flutter: zaktualizuj kod wersji sklepu Play

90

Opublikowałem aplikację w sklepie Play z flutter, teraz chcę załadować nową wersję aplikacji. Próbuję zmienić kod wersji za pomocą:

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

lub zmieniając local.properties w ten sposób

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

ale za każdym razem dostaję błąd w sklepie playstore

Musisz użyć innego kodu wersji dla swojego pliku APK lub pakietu aplikacji na Androida, ponieważ kod 1 jest już przypisany do innego pliku APK lub pakietu aplikacji na Androida.

Pondikpa Tchabao
źródło

Odpowiedzi:

206

wersja w pliku pubspec.yaml

Zaktualizuj version:A.B.C+Xw pubspec.yaml.

Dla Android:

A.B.Creprezentuje versionNametakie jak 1.0.0.

X(liczby po +) oznacza versionCode, takie jak 1, 2, 3itp

Nie zapomnij , aby wykonać flutter packages get, flutter buildlub flutter runpo tym etapie, ponieważ: Po uruchomieniu flutter packages getpo aktualizacji to versionw pubspecpliku, versionNamei versionCodew local.propertiessą aktualizowane które są później odebrał w build.gradle (app)podczas tworzenia projektu drgania przy użyciu flutter buildlub flutter runktóry jest ostatecznie odpowiedzialny za ustawienie versionNamei versionCodedla apk.

IOS:

A.B.Creprezentuje CFBundleShortVersionStringtakie jak 1.0.0.

X(liczby po +) oznacza CFBundleVersion, takie jak 1, 2, 3itp

Nie zapomnij , aby wykonać flutter packages get, flutter buildlub flutter runpo tym etapie

Rohan Taneja
źródło
4
To jest poprawna odpowiedź i powinna być zaakceptowana.
Daniel Allen,
12
Dziękuję Ci! w przypadku Androida kluczową kwestią jest uruchomienie flutter runpo zmianie pubspec.yaml, w przeciwnym razie studio android zbuduje apk / aab ze starą wersją kodu w oparciu o local.properties
Dika
4
więc w późniejszym czasie aplikacja może wyglądać, 5.1.3+201prawda?
Chuck K
1
Dzięki @Dika, ten punkt był także dla mnie kluczowy
David Santiago Turiño
W przypadku każdego wydania należy również zmienić kod wersji. Na przykład nie można po prostu zmienić samej nazwy wersji z 1.0.0 + 1 na 1.1.0 + 1. Należy go zmienić na 1.1.0 + 2
akfaisel
130

Zrozumiałem to. Dokumentacja nie jest prosta

w pubspec.yamlzmianie wersji w ten sposób

version: 1.0.2+2

gdzie zawartość to VER_NAME +VER_CODE

David Hulmes
źródło
16
Nie mogę uwierzyć, że nie jest to przewidziane w oficjalnej dokumentacji przyjemności . To takie frustrujące, aby znaleźć odpowiedź tutaj ...
Tokenyet
8
Ta strategia jest poprawna, ale liczba całkowita po znaku + to kod wersji, a nie nazwa_wersji.
Daniel Allen,
@Tokenyet Jest teraz :)
Rohan Taneja
Jak @DanielAllen powiedział wcześniej: versionName jest przed tym + i versionCode jest po tej +
Alex Semeniuk
2
1.0.2 to nazwa_wersji, a +2 to kod wersji. Dzięki! To mi bardzo pomogło!
Renan Coelho
18

Rozwiązanie:

Wewnątrz pubspec.yaml dodaj to (prawdopodobnie po opisie, takie samo wcięcie jak opis, nazwa itp ...):

version: 2.0.0+2

Następnie pakiety trafiają do lokalnego katalogu flutter (nie zapomnij o tym zrobić)

Wyjaśnienie:

Wszystko przed plusem to nazwa wersji, a po nim to kod wersji. Więc tutaj kod wersji to 2, a nazwa to 2.0.0. Ilekroć aktualizujesz aplikację flutter, pamiętaj, aby obowiązkowo zmienić kod wersji!

Dodatkowe informacje:

Za każdym razem, gdy budowana jest aplikacja na Androida, build.gradle w android / app / szuka kodu wersji i nazwy. Zwykle jest to local.properties, które jest zmieniane za każdym razem, gdy zmieniasz flutter pubspec.yaml

Vidor Vistrom
źródło
6

Aktualizowanie numeru wersji aplikacji Domyślny numer wersji aplikacji to 1.0.0. Aby go zaktualizować, przejdź do pliku pubspec.yaml i zaktualizuj następujący wiersz:

wersja: 1.0.0 + 1

Numer wersji to trzy liczby oddzielone kropkami, na przykład 1.0.0 w powyższym przykładzie, po których następuje opcjonalny numer kompilacji, taki jak 1 w powyższym przykładzie, oddzielone znakiem +.

Zarówno wersję, jak i numer kompilacji można zastąpić w kompilacji Fluttera, podając odpowiednio --build-name i --build-number.

W systemie Android nazwa-kompilacji jest używana jako nazwa_wersji, podczas gdy numer kompilacji jest używany jako kod_wersji. Aby uzyskać więcej informacji, zobacz Wersja aplikacji w dokumentacji systemu Android.

Emmanuel Ametepee
źródło
Oto link do oficjalnej dokumentacji wdrożeniowej: Aktualizacja numeru wersji aplikacji
Ahmad Payan
3

Dla Android

„XYZ + n” tutaj, „xyz” oznacza NAZWĘ WERSJI, a „n” oznacza NUMER WERSJI . Następujące zmiany do wprowadzenia

  1. W celu pubspec.yamlzmiany numeru wersji.
  2. Zaktualizuj swój local.properties, uruchamiając flutter pub getpolecenie.
  3. Teraz stwórz swój apk lub pakiet aplikacji, uruchamiając flutter build apklub flutter build appbundlepoleceniem.
Akhil Shukla
źródło
3

Domyślny numer wersji aplikacji to 1.0.0. Aby go zaktualizować, przejdź do pubspec.yamlpliku i zaktualizuj następujący wiersz:

version: 1.0.0+1

Po prostu zmień tę wersję na (zgodnie z potrzebami)

version: 1.0.1+2

Numer wersji to trzy liczby oddzielone kropkami, na przykład 1.0.0 w powyższym przykładzie, po których następuje opcjonalny numer kompilacji, taki jak 1 w powyższym przykładzie, oddzielone znakiem +.

Zarówno wersję, jak i numer kompilacji można zastąpić w kompilacji Fluttera, podając odpowiednio --build-name i --build-number.

W systemie Android nazwa-kompilacji jest używana jako nazwa_wersji, podczas gdy numer kompilacji jest używany jako kod_wersji. Aby uzyskać więcej informacji, zobacz Wersja aplikacji

Po zaktualizowaniu numeru wersji w pubspec file, uruchom flutter pubget z góry projektu lub użyj przycisku Pub get w swoim IDE. Spowoduje to zaktualizowanie versionNamei versionCodew local.propertiespliku, które są później aktualizowane w build.gradlepliku po przebudowaniu aplikacji Flutter.

Paresh Mangukiya
źródło
1

Pierwsza zmiana wersji flutter w przykładzie pubspec.yaml `wersja 1.0.3 + 4

W przypadku Androida przejdź do local.properties, a następnie zmień nazwę wersji i kod tak samo, jak kod i nazwa wersji Flutter.

W przypadku Ios przejdź do generated.xcconfig niż chnage FLUTTER_BUILD_NAME = 1.0.3 FLUTTER_BUILD_NUMBER = 4`

Adam
źródło
nie trzeba zmieniać local.properties i generated.config
Marcel Hofgesang
1

Czek

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

na android> app> Build.gradle z katalogu głównego projektu

Abhinand VB
źródło
1

Miałem ten sam problem, rozwiązuję go ponownie uruchamiając Android Studio.

Malik Elbadri
źródło
1

Nadal możesz robić własne rzeczy, nadpisując w android / app / build.gradle:

  • def flutterVersionCode
  • def flutterVersionName

do własnych wartości.

0llie
źródło
0
  • w pubspec.yml version: 1.0.0+1
  • zmień na version: 1.0.0+2
  • flutter build ios --release-name --release-number zaktualizuje wersję w ios
  • flutter pub get && flutter run zaktualizuje wersję dla Androida (android / local.properties)
Sultanmyrza Kasymbekov
źródło