如何将应用第二次上传到Play Store?您已经有一个版本代码为 1 的错误

How to upload an app to the Play Store for the second time? you already have one with version code 1 error

我在分支内部测试中成功将我的 apk 上传到 play 商店,突然,它开始拒绝我的新 apk 并出现以下错误:

You need to use a different version code for your APK or Android App Bundle because you already have one with version code 1.

这是我的 app.json expo 用来生成清单的:

{
    "android": {
      "package": "com.myapp.www",
      "versionCode": 360010305,
      "permissions": [
        "CAMERA_ROLL",
        "CAMERA",
        "LOCATION",
        "NOTIFICATIONS",
        "WRITE_EXTERNAL_STORAGE",
        "READ_EXTERNAL_STORAGE"
      ]
    }
}

我使用 this,因为我已经安装了 semantic-release-expo,它会在每次发布新版本时为我更新 app.json

因为 the default 已经是 code,我想知道为什么我仍然得到这个错误,也许我应该将此设置更改为递增并将 versionCode 设置为 1 ?

为什么不再允许我将构建的 apk(在 expo 的 CI 上)发布到 PlayStore?

版本代码有问题。 Play 商店检测您的代码中以前或相同的版本代码。所以只需将您的版本代码替换为 360010306。之后可能会解决您的问题。

更新项目中的版本代码,如果它是 1 增加 到 2 等等 然后生成新的 APK 并再次上传到 console.

问题确实出现在 expo SDK36 中,从 package.json 中删除 sdkVersion 并导致 expo-semantic-release 无法更新 android 应用程序的 versionNumber .

这是通过添加我的 expo 配置修复的 app.json:

{
  "expo": {
+    "sdkVersion": "38.0.0"
  }
}

将您的 Build.gradle 更新为:

...
android {
    compileSdkVersion 29
    buildToolsVersion "29.0.3"
    defaultConfig {
        applicationId "com.example.yourpackage"
        minSdkVersion 21
        targetSdkVersion 29
        multiDexEnabled true
        versionCode 360010306
        versionName "0.8.8-Alpha"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
...

对于要上传到控制台的每个 .aab 或 .apk 文件,VersionCode 必须不同,并且此数字限制为 2100000000... 值。

特别是在你的情况下,你需要将你的版本代码提高到下一个自然数......但是,你必须小心使用随机数来版本,模式是一个一个提升一个。