我已经用flutter在play store发布了一个应用,现在我想上传一个新版本的应用。我正在尝试更改版本代码:

Flutter build apk——build-name=1.0.2——build-number=3

或者改变局部。像这样的属性

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

但每次我在游戏商店出错

您必须为您的APK或Android应用程序包使用不同的版本代码,因为代码1已经分配给另一个APK或Android应用程序包。


当前回答

任何解决方案都不适合我使用App Bundle,我改为APK,版本没有问题。

原因尚不清楚。

其他回答

我一直在'app/build '中这样做。它的文件

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}else {
    flutterVersionCode = '4'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}else {
    flutterVersionName = '1.3'
}

更新应用程序的版本号 应用程序默认版本号为1.0.0。要更新它,请导航到pubspec。Yaml文件并更新如下行:

版本:1.0.0 + 1

版本号是三个用圆点分隔的数字,比如上面的例子中的1.0.0,后面跟着一个可选的版本号,比如上面的例子中的1,用+分隔。

在Flutter的构建中,可以通过分别指定——build-name和——build-number来覆盖版本和构建号。

在Android中,build-name用作versionName, build-number用作versionCode。有关更多信息,请参阅Android文档中的应用程序版本。

对于上述flutter 2.10.2版本,请遵循以下步骤

步骤1:修改pubspec.yaml中的以下更改

    //change version 1.0.0+1 to 1.0.0+2
version: 1.0.0+2
    
    environment:
      sdk: ">=2.16.1 <3.0.0"

步骤2:在android\local.properties中进行以下更改

flutter.sdk=C:\\flutter
flutter.buildMode=release

// Change here flutter.versionName=1.0.0 to flutter.versionName 1.0.1
flutter.versionName=1.0.1

 //Change here flutter.versionCode=1 to flutter.versionCode=2
flutter.versionCode=2

flutter.minSdkVersion=21
flutter.targetSdkVersion=31
flutter.compileSdkVersion=31

Docs说build args应该覆盖pubspec.yml:

版本和构建号都可以在Flutter的中被覆盖 通过分别指定——Build -name和——Build -number来构建。

https://flutter.dev/docs/deployment/android#updating-the-apps-version-number

我认为没有人真正回答过这个问题。在pubspec中有很多更新版本的建议。但是根据您的部署,您可能不会使用这些值。

颤振构建——构建-number=X——构建-name=Y

X被用作版本代码 使用Y作为版本名

要测试,只需运行build并检查local.properties