【问题标题】:APK version code conflict despite Google Play Store showing otherwiseAPK 版本代码冲突,尽管 Google Play 商店另有显示
【发布时间】:2020-03-24 03:59:18
【问题描述】:

我正在使用 fastlane 自动增加我的版本代码并部署我的应用程序。尽管我发布的最高 versionCode 是 3,但我收到错误 apkNotificationMessageKeyUpgradeVersionConflict: APK specifies a version code that has already been used. - APK specifies a version code that has already been used

Lanebump_version_code正在执行

[03:47:41]: ------------------------------
[03:47:41]: Driving the lane 'android alpha' ????
[03:47:42]: ------------------------------------------------------
[03:47:42]: --- Step: Switch to android bump_version_code lane ---
[03:47:42]: ------------------------------------------------------
[03:47:42]: Cruising over to lane 'android bump_version_code' ????
[03:47:42]: ---------------------------------------------
[03:47:42]: --- Step: google_play_track_version_codes ---
[03:47:42]: ---------------------------------------------
[03:47:43]: Found '1' version codes in track 'production'
[03:47:43]: ---------------------------------------------
[03:47:43]: --- Step: google_play_track_version_codes ---
[03:47:43]: ---------------------------------------------
[03:47:45]: Found '1' version codes in track 'beta'
[03:47:45]: ---------------------------------------------
[03:47:45]: --- Step: google_play_track_version_codes ---
[03:47:45]: ---------------------------------------------
[03:47:46]: Found '3' version codes in track 'alpha'
[03:47:46]: ------------------------------------
[03:47:46]: --- Step: increment_version_code ---
[03:47:46]: ------------------------------------
[03:47:46]: The get_version_code plugin is looking inside your project folder (./app)!
[03:47:46]: ☝️ Version code has been changed to 4
[03:47:46]: Cruising back to lane 'android alpha' ????

车道上下文和错误

+-------------------------------------+-------------------------------------------------------------------------------------------------------------------+
| DEFAULT_PLATFORM                    | android                                                                                                           |
| PLATFORM_NAME                       | android                                                                                                           |
| LANE_NAME                           | android alpha                                                                                                     |
| VERSION_CODE                        | 4                                                                                                                 |
| GRADLE_BUILD_TYPE                   | Release                                                                                                           |
| GRADLE_ALL_APK_OUTPUT_PATHS         | ["/Users/runner/runners/2.165.2/work/myapp/myapp/client/android/app/build/outputs/apk/release/app-release.apk"] |
| GRADLE_ALL_AAB_OUTPUT_PATHS         | []                                                                                                                |
| GRADLE_ALL_OUTPUT_JSON_OUTPUT_PATHS | ["/Users/runner/runners/2.165.2/work/myapp/myapp/client/android/app/build/outputs/apk/release/output.json"]     |
| GRADLE_ALL_MAPPING_TXT_OUTPUT_PATHS | []                                                                                                                |
| GRADLE_APK_OUTPUT_PATH              | /Users/runner/runners/2.165.2/work/myapp/myapp/client/android/app/build/outputs/apk/release/app-release.apk     |
| GRADLE_OUTPUT_JSON_OUTPUT_PATH      | /Users/runner/runners/2.165.2/work/myapp/myapp/client/android/app/build/outputs/apk/release/output.json         |
+-------------------------------------+-------------------------------------------------------------------------------------------------------------------+
[03:49:53]: Google Api Error: apkNotificationMessageKeyUpgradeVersionConflict: APK specifies a version code that has already been used. - APK specifies a version code that has already been used.

+------+------------------------------------------+-------------+
|                       fastlane summary                        |
+------+------------------------------------------+-------------+

| Step | Action                                   | Time (in s) |
[!] Google Api Error: apkNotificationMessageKeyUpgradeVersionConflict: APK specifies a version code that has already been used. - APK specifies a version code that has already been used.
+------+------------------------------------------+-------------+
| 1    | default_platform                         | 0           |
| 2    | Switch to android bump_version_code lane | 0           |
| 3    | google_play_track_version_codes          | 1           |
| 4    | google_play_track_version_codes          | 1           |
| 5    | google_play_track_version_codes          | 1           |
| 6    | increment_version_code                   | 0           |
| 7    | clean                                    | 47          |
| 8    | assembleRelease                          | 73          |
| ????   | upload_to_play_store                     | 5           |
+------+------------------------------------------+-------------+

快速文件

lane :bump_version_code do
    g = google_play_track_version_codes
    gb = google_play_track_version_codes(track: 'beta')
    ga = google_play_track_version_codes(track: 'alpha')
    max_value = [g[0].to_i, gb[0].to_i, ga[0].to_i].max
    version_updated = max_value + 1
    increment_version_code(
      app_folder_name: "./app", 
      version_code: version_updated.to_i
    )
  end

  desc "Submit a new Alpha Build to Google Play"
  lane :alpha do
    bump_version_code
    gradle(task: 'clean')
    gradle(
      task: 'assemble',
      build_type: 'Release',
      properties: {
        "android.injected.signing.store.file" => ENV["ANDROID_KEYSTORE"],
        "android.injected.signing.store.password" => ENV["ANDROID_KEYSTORE_PASSWORD"],
        "android.injected.signing.key.alias" => ENV["ANDROID_KEY_ALIAS"],
        "android.injected.signing.key.password" => ENV["ANDROID_KEY_PASSWORD"],
      }
    )
    upload_to_play_store(track: 'alpha')
  end

存档库

【问题讨论】:

  • 我刚刚看到您有一些尚未推出的生产版本。你能把它删掉再试一次吗?
  • @rcarba 我删除并重试了,但得到了同样的错误
  • 你检查过 Appfile 了吗?它可能正在上传到不同的包名
  • 您找到解决方案了吗?我也有同样的问题。
  • @Lucky_girl 抱歉,可悲的是从来没有想通

标签: fastlane


【解决方案1】:

转到 Google Play 控制台

  • App bundle explorer”在边栏中
  • 右上角,点击“App版本:***▾
  • 您应该会看到所有已上传的捆绑包。删除具有您要使用的版本代码的那个。

解释:这发生在我玩 Fastlane 的时候。我上传了一堆 .aab 文件,并且 versionCode 一直在更新(我在玩 increment_version_code 插件,所以这很有意义)。我最终手动推送了一个构建,因为我遇到了一个错误(与 versionCode 无关)。 几天后,我尝试继续进行此工作并想上传我的构建“3”(版本代码:3,因为我只推送了 2 个测试包,其他未使用)......但在我前几天,我上传导致问题的三个版本 3、4 和 5。删除它们允许我使用 versionCode 3 推送新版本。

【讨论】:

  • 我们怎样才能破坏版本?有没有办法找回号码?上面的快车道动作是这样的吗?
  • 救命稻草。 Google Play Console 比 Apple Connect 更令人困惑。
【解决方案2】:

这是因为您在人工上传的工件库中上传了一些工件。如果您删除它,它将起作用。 您可以在左侧菜单中的发布管理中找到工件库。

可能会上传一些草稿二进制文件,其代码版本大于活动版本。

【讨论】:

  • 您好,我在问题中添加了我的存档库的屏幕截图。如您所见,没有版本代码为 4 的 APK,我看不到删除工件的能力
  • 对不起,我没看到。通常这是导致此错误的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-15
  • 2021-04-11
  • 2018-04-02
  • 2014-08-11
  • 2017-02-27
  • 1970-01-01
相关资源
最近更新 更多