Flutter: оновіть код версії для play store


91

я опублікував додаток у ігровому магазині з флаттером, тепер я хочу завантажити нову версію програми. Я намагаюся змінити код версії за допомогою:

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

або зміна локальних властивостей, як це

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

але щоразу, коли я отримую помилку в магазині

Ви повинні використовувати інший код версії для вашого APK або Android App Bundle, оскільки код 1 уже призначений іншому APK або Android App Bundle.

Відповіді:


208

версія у файлі pubspec.yaml

Оновлення version:A.B.C+Xв pubspec.yaml.

Для Android:

A.B.Cпредставляє versionNameтаке, як 1.0.0.

X(Число після +) являє собою versionCodeтакі , як 1, 2, 3і т.д.

Не забудьте виконати flutter packages get, flutter buildабо flutter runпісля цього кроку, тому що: При запуску flutter packages getпісля оновлення цього versionв pubspecфайлі, то versionNameі versionCodeв local.propertiesоновлюються , які згодом використовувалися в build.gradle (app)при створенні проекту флатера з використанням flutter buildабо flutter runякі, в кінцевому рахунку , відповідальним за встановлення versionNameі versionCodeдля apk.

Для iOS:

A.B.Cпредставляє CFBundleShortVersionStringтаке, як 1.0.0.

X(Число після +) являє собою CFBundleVersionтакі , як 1, 2, 3і т.д.

Не забудьте виконати flutter packages get, flutter buildабо flutter runпісля цього кроку


4
Це правильна відповідь, і вона повинна бути прийнятою.
Деніел Аллен,

12
Дякую! для андроїда ключовим моментом є запуск flutter runпісля зміни pubspec.yaml, інакше андроїд-студія створить apk / aab зі старим кодом версії на основі local.properties
Діка

4
тож у якийсь пізній момент часу програма може виглядати так 5.1.3+201?
Чак К

1
Дякую @Dika, цей момент був ключовим і для мене
Девід Сантьяго Туріньо

Для кожного випуску також потрібно змінювати код версії. Наприклад, ви не можете просто змінити лише назву версії з 1.0.0 + 1 на 1.1.0 + 1. Його потрібно змінити на 1.1.0 + 2
akfaisel

131

Зрозумів це. Документація не є прямою

у вашій pubspec.yamlзміні версія така

version: 1.0.2+2

де речі - VER_NAME +VER_CODE


16
Я не можу повірити, що це не передбачено в офіційній документації про депоймент . Знайти відповідь тут так неприємно ...
Токенет

8
Стратегія тут правильна, але ціле число після знака + - це versionCode, а не versionName.
Деніел Аллен,

@Tokenyet Зараз це :)
Рохан

Як @DanielAllen сказав раніше: versionName це перед тим в + і VersionCode це після того, як в +
Alex Семенюк

2
1.0.2 - це versionName, а +2 - codeCode. Думаю! Це мені дуже допомогло!
Ренан Коельо

18

Рішення:

Всередині pubspec.yaml додайте це (можливо, після опису, такий самий відступ, як опис, ім'я тощо ...):

version: 2.0.0+2

Тоді пакети потрапляють до локального каталогу, що метушиться (не забудьте це зробити)

Пояснення:

Все перед плюсом - це назва версії, а після - код версії. Тож тут код версії 2, а ім’я 2.0.0. Щоразу, коли ви оновлюєте програму флаттера, обов’язково змінюйте код версії обов’язково!

Додаткова інформація:

Щоразу, коли додаток для Android створюється, build.gradle всередині android / app / шукає код версії та ім’я. Зазвичай це полягає у local.properties, який змінюється щоразу, коли ви змінюєте флаттер pubspec.yaml


6

Оновлення номера версії програми За замовчуванням номер версії програми - 1.0.0. Щоб оновити його, перейдіть до файлу pubspec.yaml та оновіть такий рядок:

версія: 1.0.0 + 1

Номер версії - це три числа, розділені крапками, наприклад 1.0.0 у прикладі вище, за яким слідує необов’язковий номер збірки, такий як 1 у прикладі вище, розділений знаком +.

Як версія, так і номер збірки можуть бути замінені у збірці Flutter, вказавши --build-name та --build-number, відповідно.

В Android ім'я збірки використовується як versionName, а номер збірки - як versionCode. Для отримання додаткової інформації див. Версія вашого додатка в документації для Android.


Ось посилання на офіційну документацію щодо розгортання: Оновлення номера версії програми
Ахмад Паян

3

Для Android

"XYZ + n" тут "xyz" представляє НАЗВАННЯ ВЕРСІЇ, а "n" - НОМЕР ВЕРСІЇ . Наступні зміни -

  1. У pubspec.yamlзміні вашої номер версії.
  2. Оновіть local.properties, запустивши flutter pub getкоманду.
  3. Тепер побудувати свій APK або додаток згорток, запустивши flutter build apkабо flutter build appbundleкоманду.

3

Номер версії програми за замовчуванням - 1.0.0. Щоб оновити його, перейдіть до pubspec.yamlфайлу та оновіть наступний рядок:

version: 1.0.0+1

Просто змініть цю версію на (За вашими потребами)

version: 1.0.1+2

Номер версії - це три числа, розділені крапками, наприклад 1.0.0 у прикладі вище, за яким слідує необов’язковий номер збірки, такий як 1 у прикладі вище, розділений знаком +.

Як версія, так і номер збірки можуть бути замінені у збірці Flutter, вказавши --build-name та --build-number, відповідно.

В Android ім'я збірки використовується як versionName, а номер збірки - як versionCode. Для отримання додаткової інформації див. Версію програми

Після оновлення номера версії в pubspec file, запустіть flutter pubget з початку проекту або скористайтеся кнопкою Pub get у вашому IDE. Це оновлює файл versionNameі versionCodeу local.propertiesфайлі, який згодом оновлюється у build.gradleфайлі під час відновлення програми Flutter.


1

Перша змінна версія флаттера у прикладі pubspec.yaml `версія 1.0.3 + 4

У випадку Android перейдіть до local.properties, ніж змініть ім'я та код версії так само, як код і ім'я версії.

У випадку Ios перейдіть до generated.xcconfig ніж chnage FLUTTER_BUILD_NAME = 1.0.3 FLUTTER_BUILD_NUMBER = 4`


немає необхідності змінювати local.properties і generated.config
Марсель Хофгесанг,


1

Перевірте

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

на android> app> Build.gradle з кореневої папки вашого проекту



1

Ви все ще можете робити все своє, переписавши в android / app / build.gradle:

  • def flutterVersionCode
  • def flutterVersionName

до власних цінностей.


0
  • у pubspec.yml version: 1.0.0+1
  • перейти version: 1.0.0+2
  • flutter build ios --release-name --release-number оновить версію в iOS
  • flutter pub get && flutter run оновить версію для android (android / local.properties)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.