【问题标题】:How to solve "Your APK's version code needs to be higher than 2." in Google Play's Developer Console?如何解决“您的APK的版本代码需要高于2”。在 Google Play 的开发者控制台中?
【发布时间】:2013-03-13 15:59:41
【问题描述】:

将我的 Phonegap 应用程序上传到 Google Play 开发者控制台时出现此错误:

您的 APK 版本代码需要高于 2。

我该如何解决这个问题?

【问题讨论】:

    标签: android cordova apk


    【解决方案1】:

    如果您直接使用 Gradle,或者通过 Android Studio 间接使用:

    我通过编辑build.gradle 文件中的版本号来修复它! android.manifest 文件底部有一个小横幅,上面写着“这些更改正在被 build.gradle 文件覆盖。”

    【讨论】:

    • 如果您使用的是 Android Studio,请使用此答案。
    • 您甚至可以从build.gradle 中删除versionCodeversionName。如果删除,AndroidStudio 将恢复为您的AndroidManifest.xml
    • @IvoRenkema 你的评论可能是一个实际的答案,为什么不把它变成一个呢?明显的优势是只需要记住在那之后更新一个文件中的版本号......
    【解决方案2】:

    请参阅附加的 Android Studio 快照,这应该会有所帮助。

    【讨论】:

    • versionCode 必须至少增加 1,但是,versionName 可以增加 0.1(或其他任何值),因为这是最终用户看到的。
    • 其实,versionName 甚至不需要增加,如果你不想增加的话。
    【解决方案3】:

    通过更改 AndroidManifest.xml 中的 versionCode 将版本代码增加到 3:

    <android xmlns:android="http://schemas.android.com/apk/res/android">
            <tool-api-level>10</tool-api-level>
            <manifest android:versionCode="3" android:versionName="0.1.1" android:installLocation="preferExternal"/>
            <uses-sdk android:maxSdkVersion="10" android:minSdkVersion="7" android:targetSdkVersion="10"/>
    </android>
    

    【讨论】:

    • Android Studio .5+ ... 查看下一个答案
    • 当我把它改成这个时,它给了我这个错误 Upload failed 你需要为你的 APK 使用不同的版本代码,因为你已经有一个版本代码为 3 的版本代码。
    【解决方案4】:

    使用aapt 验证您的APK 版本:

    aapt dump badging myapp.apk
    

    它会告诉你在AndroidManifest.xml中增加versionCode,例如

      <manifest android:versionCode="3">
    

    【讨论】:

      【解决方案5】:

      遇到了同样的问题,通过更改build.gradle文件Module: app中的以下值解决了它

      defaultConfig {
              applicationId //app package goes here
              minSdkVersion 10
              targetSdkVersion 21
              **versionCode 2
              versionName "1.1"**
              signingConfig //name of keystore goes here
          }
      

      这是 Android Studio 跟踪每个应用程序版本控制的方式。

      或者,对于新手,您可以通过单击应用程序的设置并导航到“风味”选项卡来访问这些设置。您可以在此处修改某些设置,例如 versionCode 和 versionName。

      希望这会有所帮助:)

      【讨论】:

        【解决方案6】:

        当您准备好将应用程序部署到 APK 时,在 JDeveloper 中转到应用程序 -> 部署 -> 新部署配置文件。将 Profile Type 设置为 ADF Mobile for Android,选择一个名称并单击 OK。在下一个窗口中选择 Android 选项并更改版本代码。这就是 Google Play 不喜欢的(因为您已经有一个具有相同版本代码的应用程序)。我就是这样解决这个问题的。

        【讨论】:

          【解决方案7】:

          android 人员和您的用户只需要跟踪所有更新,因此您需要通过更新 versionCode 和 versionName 来提及版本

          以下是解决问题的方法:

          较早

          defaultConfig {
              applicationId "com.example.random.projectname"
              minSdkVersion 15
              targetSdkVersion 24
              versionCode 1
              versionName "1.0"
          }
          

          现在

          defaultConfig {
              applicationId "com.example.random.projectname"
              minSdkVersion 15
              targetSdkVersion 24
              versionCode 2
              versionName "1.0.1"
          }
          

          记住

          • versionName 是显示在应用用户详细说明底部的内容
          • 虽然 versionCode 是针对开发人员和 google 的需要,并且即使您将 versionName 从 v1.0.5 更改为 v1.0.6,必须始终为每个新 versionName 加一

          【讨论】:

          • 以前和现在有什么变化?在我看来是一样的。
          【解决方案8】:

          我想您已经将版本 2 上传到您的开发控制台。只需将版本代码(注意:不是版本名称!)增加到 3,重建您的 APK 就可以了。

          【讨论】:

          • 我不知道如何增加谷歌控制台问我的版本代码。否则我不会在这里问这个问题......
          【解决方案9】:

          我有这个问题有一段时间了,它难住了我。我尝试重新导入项目。将项目从 Eclipse 导入 Android Studio。一切。我发现有效的是,您必须将版本代码增加 1 个值。您不必更改版本名称。在您导出 apk 文件之前。确保至少构建一次项目。这样新版本代码就实现了。

          【讨论】:

            【解决方案10】:

            我发现如果你使用的是Android Studio,你需要更新build.gradle文件中的版本代码。例如:

            defaultConfig {
                applicationId "app.myapp"
                minSdkVersion 14
                targetSdkVersion 20
                versionCode 2
                versionName "1.0.0"
            }
            

            ...

            【讨论】:

            • 这对我有用,其他建议都没有。点赞,感谢您的回答!
            【解决方案11】:

            遇到了同样的问题。更改版本没有帮助。对于 Android 版本,您可以将 versionCode 添加到您的 config.xml 并说明版本。

                xmlns:gap = "http://phonegap.com/ns/1.0"
                id        = "xxx.xxxxxx"
                versionCode = "415" 
                version   = "1.0.11">
            

            查看http://docs.build.phonegap.com/en_US/3.1.0/configuring_basics.md.html#The%20Basics

            【讨论】:

              【解决方案12】:

              在 Android Studio 中,我只能通过更改应用文件中的 versionCode 来实现这一点。

              android {
                  compileSdkVersion 19
                  buildToolsVersion '19.1.0'
                  defaultConfig {
                      applicationId 'xxxxxxxxxxxxxxx'
                      minSdkVersion 14
                      targetSdkVersion 19
                      versionCode 3
                      versionName '1.1'
                  }
                  buildTypes {
                      release {
                          runProguard false
                          proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                      }
                  }
                  productFlavors {
                  }
              }
              

              【讨论】:

                【解决方案13】:

                我的解决方案是编辑 config.xml 并更改“版本”属性。

                我尝试编辑我的 AndroidManifest.xml(我能找到的每个版本)并更改了 versionCode 和 versionName 值。一些 AndroidManifest.xml 文件被原始值覆盖,一些未被覆盖。无论如何,apk 版本仍为“1”。

                我多次查看 config.xml,但其中都不存在 versionCode 和 versionName。我最终决定更改 config.xml 中的“版本”值,重新构建,我的 apk 现在有了新的、正确的版本号。

                在 config.xml 中:

                旧的“版本”属性:"version=0.0.1"

                新的“版本”属性:"version=0.0.2"

                应该注意的是,我没有使用 Eclipse 或 Android Studio ...只是一个文本编辑器并运行手动构建。现在当我跑步时

                aapt 转储标记 [apk 名称]

                我看到了更新的 versionCode 和 versionName...具体来说,我看到了:

                versionCode='2' versionName='0.0.2'
                

                ...我现在可以再次成功地将我的 apk 上传到 Play 商店。

                【讨论】:

                  【解决方案14】:
                  appt dump badging myapp.apk
                  

                  此命令用于检查构建的 apk 版本。但是老把戏解决了这个问题,即使我增加了版本。尝试清理工作区并重新构建。

                  【讨论】:

                    【解决方案15】:

                    解决它的简单方法是 点击构建 > 编辑风味...

                    更改版本代码和版本名称

                    点击确定完成

                    【讨论】:

                      【解决方案16】:

                      对于我的 Cordova 构建的应用程序,Gradle 文件没有静态代码。它是像这样使用 Android Manifest 挑选出来的 -

                      defaultConfig {
                      versionCode cdvVersionCode ?: Integer.parseInt("" + privateHelpers.extractIntFromManifest("versionCode") + "0")
                      applicationId privateHelpers.extractStringFromManifest("package")
                      
                      if (cdvMinSdkVersion != null) {
                          minSdkVersion cdvMinSdkVersion
                      }
                      

                      }

                      我尝试更改清单文件中的版本代码,但没有成功。

                      这不是一件好事,但我不慌不忙地这样做了 -

                      defaultConfig {
                      versionCode cdvVersionCode ?: (Integer.parseInt("" + privateHelpers.extractIntFromManifest("versionCode") + "0") + 2)
                      applicationId privateHelpers.extractStringFromManifest("package")
                      
                      if (cdvMinSdkVersion != null) {
                          minSdkVersion cdvMinSdkVersion
                      }
                      

                      }

                      注意:对于 Cordova 构建的应用程序,您需要在 Gradle Scripts > 文件中进行更改 - “build.gradle (Module:android)”

                      【讨论】:

                        猜你喜欢
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 2019-08-27
                        • 1970-01-01
                        • 2018-01-31
                        • 1970-01-01
                        • 2017-11-11
                        • 1970-01-01
                        相关资源
                        最近更新 更多