Flutter: nâng cấp mã phiên bản cho cửa hàng chơi


91

Tôi đã xuất bản một ứng dụng trên Play Store với sự rung động, bây giờ tôi muốn tải lên một phiên bản mới của ứng dụng. Tôi đang cố gắng thay đổi mã phiên bản bằng:

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

hoặc thay đổi local.properties như thế này

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

nhưng tôi luôn gặp lỗi trên playstore

Bạn phải sử dụng mã phiên bản khác cho APK hoặc Android App Bundle của mình vì mã 1 đã được gán cho APK hoặc Android App Bundle khác.

Câu trả lời:


208

phiên bản trong tệp pubspec.yaml

Cập nhật version:A.B.C+Xtrong pubspec.yaml.

Đối với Android:

A.B.Cđại diện cho versionNamechẳng hạn như 1.0.0.

X(số sau +) đại diện cho versionCodenhư 1, 2, 3vv

Đừng quên để thực hiện flutter packages get, flutter buildhoặc flutter runsau bước này, bởi vì: Khi bạn chạy flutter packages getsau khi cập nhật này versiontrong pubspectập tin, versionNameversionCodetrong local.propertiesnhững cập nhật mà sau này được nhặt trong build.gradle (app)khi bạn xây dựng dự án rung động của bạn sử dụng flutter buildhoặc flutter runlà cuối cùng chịu trách nhiệm thiết lập các versionNameversionCodecho apk.

Đối với iOS:

A.B.Cđại diện cho CFBundleShortVersionStringchẳng hạn như 1.0.0.

X(số sau +) đại diện cho CFBundleVersionnhư 1, 2, 3vv

Đừng quên để thực hiện flutter packages get, flutter buildhoặc flutter runsau bước này


4
Đây là câu trả lời chính xác và phải là câu trả lời được chấp nhận.
Daniel Allen

12
cảm ơn bạn! for android, điểm mấu chốt là để chạy flutter runsau khi thay đổi phòng thu pubspec.yaml khác android sẽ xây dựng apk / aab với cũ mã phiên bản dựa trên local.properties
Dika

4
vì vậy vào một thời điểm nào đó sau này, một ứng dụng có thể trông như thế nào 5.1.3+201đúng không?
Chuck K

1
Cảm ơn @Dika, điểm đó cũng quan trọng đối với tôi
David Santiago Turiño

Đối với mỗi bản phát hành, mã phiên bản cũng phải được thay đổi. Ví dụ: bạn không thể chỉ thay đổi tên phiên bản từ 1.0.0 + 1 thành 1.1.0 + 1. Nó phải được thay đổi thành 1.1.0 + 2
akfaisel

131

Đã tìm ra cái này. Tài liệu không chuyển tiếp

khi bạn pubspec.yamlthay đổi phiên bản như thế này

version: 1.0.2+2

nơi có nội dung VER_NAME +VER_CODE


16
Tôi không thể tin rằng điều này không được cung cấp trong tài liệu xóa bỏ chính thức . Thật bực bội khi tìm thấy câu trả lời ở đây ...
Tokenyet

8
Chiến lược ở đây là đúng, nhưng số nguyên sau dấu + là Mã phiên bản, không phải Tên phiên bản.
Daniel Allen

@Tokenyet Bây giờ là :)
Rohan Taneja

Như @DanielAllen nói trước: tên phiên bảntrước khi các +mã phiên bảnsau khi sự +
Alex Semeniuk

2
Phiên bản 1.0.2 là Tên phiên bản và +2 là Mã phiên bản. Cảm ơn bạn! Điều này đã giúp tôi rất nhiều!
Renan Coelho

18

Giải pháp:

Bên trong pubspec.yaml thêm điều này (có thể là sau mô tả, thụt lề giống như mô tả, tên, v.v.):

version: 2.0.0+2

Sau đó, các gói có được vào bên trong thư mục cục bộ của flashing không (Đừng quên làm điều này)

Giải trình:

Mọi thứ trước cộng là tên phiên bản và sau là mã phiên bản. Vì vậy, ở đây mã phiên bản là 2 và tên là 2.0.0. Bất cứ khi nào bạn cập nhật ứng dụng Flagship, hãy đảm bảo bắt buộc thay đổi mã phiên bản!

Thông tin bổ sung:

Bất cứ khi nào ứng dụng android được tạo, build.gradle bên trong android / app / sẽ tìm kiếm mã và tên phiên bản. Điều này thường nằm ở local.properties được thay đổi mỗi khi bạn thay đổi flashing pubspec.yaml


6

Cập nhật số phiên bản của ứng dụng Số phiên bản mặc định của ứng dụng là 1.0.0. Để cập nhật nó, hãy điều hướng đến tệp pubspec.yaml và cập nhật dòng sau:

phiên bản: 1.0.0 + 1

Số phiên bản là ba số được phân tách bằng dấu chấm, chẳng hạn như 1.0.0 trong ví dụ trên, theo sau là số phiên bản tùy chọn, chẳng hạn như 1 trong ví dụ trên, được phân tách bằng dấu +.

Cả phiên bản và số bản dựng có thể bị ghi đè trong bản dựng của Flutter bằng cách chỉ định --build-name và --build-number, tương ứng.

Trong Android, build-name được sử dụng làm versionName trong khi build-number được sử dụng làm versionCode. Để biết thêm thông tin, hãy xem Phiên bản ứng dụng của bạn trong tài liệu Android.


Đây là liên kết đến tài liệu triển khai chính thức: Cập nhật số phiên bản của ứng dụng
Ahmad Payan

3

Đối với Android

"XYZ + n" ở đây "xyz" đại diện cho TÊN PHIÊN BẢN và "n" đại diện cho SỐ PHIÊN BẢN . Những thay đổi sau sẽ được thực hiện-

  1. Trong pubspec.yamlsự thay đổi số phiên bản của bạn.
  2. Cập nhật của bạn local.propertiesbằng cách chạy flutter pub getlệnh.
  3. Bây giờ xây dựng gói ứng dụng hoặc gói ứng dụng của bạn bằng cách chạy flutter build apkhoặc flutter build appbundlelệnh.

3

Số phiên bản mặc định của ứng dụng là 1.0.0. Để cập nhật nó, hãy điều hướng đến pubspec.yamltệp và cập nhật dòng sau:

version: 1.0.0+1

Chỉ cần thay đổi phiên bản đó thành (Theo nhu cầu của bạn)

version: 1.0.1+2

Số phiên bản là ba số được phân tách bằng dấu chấm, chẳng hạn như 1.0.0 trong ví dụ trên, theo sau là số phiên bản tùy chọn, chẳng hạn như 1 trong ví dụ trên, được phân tách bằng dấu +.

Cả phiên bản và số bản dựng có thể bị ghi đè trong bản dựng của Flutter bằng cách chỉ định --build-name và --build-number, tương ứng.

Trong Android, build-name được sử dụng làm versionName trong khi build-number được sử dụng làm versionCode. Để biết thêm thông tin, hãy xem Phiên bản ứng dụng của bạn

Sau khi cập nhật số phiên bản trong pubspec file, chạy flutter pubget từ đầu dự án hoặc sử dụng nút Pub get trong IDE của bạn. Điều này cập nhật versionNameversionCodetrong local.propertiestệp, sau đó được cập nhật trong build.gradletệp khi bạn xây dựng lại ứng dụng Flutter.


1

Một phiên bản thay đổi đầu tiên trong phiên bản pubspec.yaml `phiên bản 1.0.3 + 4

Trong trường hợp của Android, hãy truy cập local.properties thay đổi tên phiên bản và mã giống như mã và tên phiên bản flaming.

Trong trường hợp của Ios, hãy chuyển đến created.xcconfig hơn chnage FLUTTER_BUILD_NAME = 1.0.3 FLUTTER_BUILD_NUMBER = 4`


không cần thay đổi trong local.properties và created.config
Marcel Hofgesang


1

Kiểm tra

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

trên android> app> Build.gradle từ thư mục gốc của dự án của bạn


1

Tôi đã gặp vấn đề tương tự, tôi giải quyết bằng cách khởi động lại Android Studio.


1

Bạn vẫn có thể làm hoàn toàn công việc của riêng mình bằng cách ghi đè trong android / app / build.gradle:

  • def fl FlamingVersionCode
  • def FlamingVersionName

với giá trị của riêng bạn.


0
  • trong pubspec.yml version: 1.0.0+1
  • thay đổi thành version: 1.0.0+2
  • flutter build ios --release-name --release-number sẽ cập nhật phiên bản trong ios
  • flutter pub get && flutter run sẽ cập nhật phiên bản cho android (android / local.properties)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.