52

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

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

我怎样才能解决这个问题?

4

16 回答 16

77

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

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

于 2014-04-17T20:06:26.307 回答
27

在此处输入图像描述

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

于 2015-07-13T07:23:51.957 回答
15

通过更改 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>
于 2013-12-21T14:41:00.257 回答
8

用于aapt验证您的 APK 版本:

aapt dump badging myapp.apk

它会告诉你增加versionCodein AndroidManifest.xml,例如

  <manifest android:versionCode="3">
于 2013-03-23T23:54:04.373 回答
6

有同样的问题,并通过更改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。

希望这可以帮助 :)

于 2015-09-13T10:09:57.700 回答
4

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

于 2013-08-30T22:18:41.640 回答
4

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是应用程序用户的 Long Description 底部显示的内容
  • 虽然versionCode是为开发人员和谷歌的需要而设计的,并且即使您将 versionName 从 v1.0.5 更改为 v1.0.6 ,也必须始终为每个新 versionName 加一
于 2016-08-29T13:33:34.263 回答
3

有同样的问题。更改版本没有帮助。versionCode对于 Android 版本,您可以添加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

于 2015-02-26T10:32:24.953 回答
3

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

于 2013-03-23T23:44:13.703 回答
3

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

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

...

于 2015-02-06T18:49:52.700 回答
3

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

于 2014-03-15T00:18:36.913 回答
2

在 Android 工作室中,我只能通过更改应用程序文件中的 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 {
    }
}
于 2014-07-27T07:11:40.173 回答
2

我的解决方案是编辑 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 商店。

于 2014-12-18T22:48:36.593 回答
1
appt dump badging myapp.apk

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

于 2013-12-21T06:03:29.837 回答
1

解决它的简单方法是单击 Build > Edit Flavors...

在此处输入图像描述

更改版本代码和版本名称

在此处输入图像描述

单击确定并完成

于 2017-04-08T13:31:25.880 回答
0

对于我的 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 > File 中进行更改 - “build.gradle (Module:android)”

于 2016-06-08T10:42:50.603 回答