【问题标题】:Version code 1 has already been used. Try another version code版本代码 1 已被使用。尝试其他版本代码
【发布时间】:2021-09-04 12:52:02
【问题描述】:

我正在将新的应用程序包上传到播放控制台,上传后显示Version code 1 has already been used. Try another version code.

我已将 pubspec.yaml 中的版本号从版本号:1.0.0+1 更改为 2.0.0+1,即使它说的是同样的错误

【问题讨论】:

    标签: android flutter google-play google-play-console


    【解决方案1】:

    你必须增加+1,它应该是+2来表示内部版本号

    【讨论】:

    • 不应该将内部版本号从版本号中“限定”出来吗? 1.0.0+12.0.0+1 显然不是同一个版本...
    • @OshMansor,您所说的 OP 是指 Len_X 还是 balu k?将版本从 1.0.0+1 更改为 1.0.0+2 2.0.0+1 应该可以避免该问题。还是我们说不是这样?如果增加主版本号,是否还需要增加修订号?也就是说,1.0.0+12.0.0+1 不会解决这个问题,但是 1.0.0+12.0.0+2 会吗?
    • @BrandonEssler OP=Len_X。是的,只有你的后一种情况才能工作,即1.0.0+12.0.0+2。我尝试了前者,它仍然不允许我通过提交。
    • 删除现有的 aab 太令人困惑了,我不能,现在最糟糕的事情发生了,我的苹果版本是 1.0.1 而我的安卓是 3.0.0(3)... .
    【解决方案2】:

    版本号和build-number相同

    如果版本号是x.x.x,版本号是y

    在创建 appbundle 时

    在您的终端上运行flutter build appbundle --build-name=x.x.x --build-number=y

    【讨论】:

    • --build-version 似乎已被删除。请仅使用--build-number。无论如何,该版本取自pubspec.yaml
    • 如果您使用的是 Flutter 2,请改用 --build-name--build-number
    【解决方案3】:

    你有两种方法可以做到这一点,如果你已经发布了你的包,那么你必须像 Len_X 的回答那样更新你的版本代码,

    如果您仍在开发和推送应用程序包以进行测试,然后您将其删除,则此包将保存为具有该版本代码的草稿,因此它表示您不能使用相同的版本,因为它已经看到另一个具有相同版本名称的版本。您可以通过转到发布部分来解决此问题,转到应用程序包资源管理器,在右上角,您应该会看到您的应用程序版本的下拉按钮,单击它,底部表格将显示包含您之前上传的所有应用程序包。删除具有冲突捆绑版本的那个,您就可以开始了。希望这是你的问题

    【讨论】:

    • 这不是一个可维护的解决方案。
    • @Len_X 此解决方案仅用于预发布,如果您发布您的应用程序,那么您的解决方案是正确的方法
    • 感谢您的第二个选项(应用程序包浏览器)。我创建了一个版本,但它拒绝了我的上传。不想增加 +1 以保持 iOS 版本配对。
    • 当我点击应用版本旁边的下拉菜单时,我看不到“删除”选项。还能用吗?
    • 这是我一直在寻找的,因为我必须在发布之前更新捆绑包。
    【解决方案4】:

    您可以通过转到“app_name/android/app/build.gradle”文件手动执行此操作。在 defaultConfig 部分将版本代码更改为更高的数字

      defaultConfig {
            applicationId "com.my.app"
            minSdkVersion 23
            targetSdkVersion 30
            versionCode 1 // Change to a higher number
            versionName "1.0.1" // Change to a higher number
            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
            javaCompileOptions {
                annotationProcessorOptions {
                    arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
                }
            }
        }
    

    【讨论】:

      【解决方案5】:

      如果您在google play控制台中遇到上述错误,请更改pubspec.yaml中的version:

      参考。 How to set build and version number of Flutter app

      和我一起工作

      【讨论】:

      • 你又需要% flutter build appbundle --release
      【解决方案6】:

      先去app/build.gradle

      像这样更改versionCodeversionName (+1)

      我认为这对某人会有帮助✌?

      【讨论】:

      • 跟踪起来超级混乱。
      【解决方案7】:

      如果您在使用 Expo/React Native 项目的 Google Play 商店中遇到 app bundle 审批问题,这里有一些提示:

      1. Google Play 版本控制实际上是检查您的 AndroidManifest.xml 文件的版本控制 (/android/app/src/)。这应该在构建期间从 Expo 的 app.json 文件 (/app.json) 更新,per their instructions

      app.json 示例部分,我已将我的应用程序提升到 v2.0 - 请注意 Android 设置对象内部的 versionCode 和设置对象根目录中的 version 都需要调整:

      {
        "name": "app-name",
        "displayName": "App Name",
        "expo": {
          "android": {
            "package": "app.here",
            "permissions": [],
            "versionCode": 2
          }
        },
        "version": "2.0.0"
      }
      
      1. 如果您的 Android 版本没有更新(如果您有独立的 Expo 应用程序),您必须直接进入 AndroidManifest.xml 文件并在那里进行修改 (/android/app/src/):

      AndroidManifest.xml 的示例(注意您的修改发生在<manifest> 标签上,使用android:versionCodeandroid:versionName

      <manifest 
        xmlns:android="http://schemas.android.com/apk/res/android" 
        package="com.aganashapp"
        android:versionCode="2"
        android:versionName="2.0"
      >
        <uses-permission android:name="android.permission.INTERNET"/>
        <application
          android:name=".MainApplication"
          android:label="@string/app_name"
            android:icon="@mipmap/ic_launcher"
          android:allowBackup="false"
          android:theme="@style/AppTheme"
        >
          <meta-data android:name="expo.modules.updates.EXPO_UPDATE_URL" android:value="https://exp.host/@username/app-name" />
          <meta-data android:name="expo.modules.updates.EXPO_SDK_VERSION" android:value="42.0.0" />
          <meta-data android:name="expo.modules.updates.EXPO_RELEASE_CHANNEL" android:value="default" />
      
        <activity
          android:name=".MainActivity"
            android:label="@string/app_name"
            android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
            android:launchMode="singleTask"
            android:windowSoftInputMode="adjustResize"
            android:theme="@style/Theme.App.SplashScreen"
          >
            <intent-filter>
              <action android:name="android.intent.action.MAIN"/>
              <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
          </activity>
          <activity android:name="com.facebook.react.devsupport.DevSettingsActivity"/>
        </application>
      </manifest>
      
      1. 如果您仍有问题,请记住 Android versionCodeversionName 是两个不同的东西。 Android 似乎无法识别semver standardsversionCode 以整数形式递增(即,如果您从 semver v1.0.0 变为 v1.1.0,即 versionCode 1 变为 2

      【讨论】:

        【解决方案8】:

        转到Pubspec.yaml 文件并找到version 键并更改+ 号后面的值。

        示例: 在您的 pubspec.yaml 文件中,您的版本是这样的 version: 1.0.0+1 然后将其更改为 version: 1.0.0+2

        【讨论】:

          【解决方案9】:

          如果您删除 apk,则上传相同版本的 apk,因此您会收到错误 版本代码 1 已被使用。尝试其他版本代码 在这种情况下,您应该从 App bundle explorer 中删除版本,然后上传相同版本的 apk。

          【讨论】:

            猜你喜欢
            • 2022-01-03
            • 2023-01-08
            • 1970-01-01
            • 2010-09-25
            • 1970-01-01
            • 2023-02-26
            • 2015-10-21
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多