如何解决“你的APK版本代码需要高于2”。在Google Play的开发者控制台中?

时间:2013-03-23 23:35:27

标签: android cordova apk

将Phonegap应用上传到Google Play Developer Console时出现此错误:

  

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

我该如何解决这个问题?

15 个答案:

答案 0 :(得分:71)

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

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

答案 1 :(得分:24)

enter image description here

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

答案 2 :(得分: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>

答案 3 :(得分:7)

使用aapt验证您的APK版本:

aapt dump badging myapp.apk

它会告诉您增加versionCode中的AndroidManifest.xml,例如

  <manifest android:versionCode="3">

答案 4 :(得分:3)

当您准备将应用程序部署到APK时,在JDeveloper中转到应用程序 - &gt;部署 - &gt;新部署配置文件。将配置文件类型设置为Android的ADF Mobile,选择一个名称,然后单击确定。在下一个窗口中选择Android选项并更改版本代码。这就是Google Play不喜欢的内容(因为您已经拥有了具有相同版本代码的应用)。这就是我解决这个问题的方法。

答案 5 :(得分:3)

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

答案 6 :(得分:3)

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

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

...

答案 7 :(得分:3)

有同样的问题。更改版本没有帮助。对于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

答案 8 :(得分:2)

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

答案 9 :(得分:2)

在Android工作室中,我只能通过更改app文件中的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 {
    }
}

答案 10 :(得分:2)

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也是如此

答案 11 :(得分:1)

appt dump badging myapp.apk

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

答案 12 :(得分:1)

我的解决方案是编辑config.xml并更改'version'属性。

我尝试编辑AndroidManifest.xml(我能找到的每个版本)并更改了versionCode和versionName值。一些AndroidManifest.xml文件被原始值覆盖,有些文件没有被覆盖。无论如何,apk版本保持在'1'。

我多次查看config.xml,但是其中没有versionCode和versionName。我最终决定更改config.xml中的'version'值,重建,我的apk现在有了新的,正确的版本号。

在config.xml中:

旧'版本'属性:"version=0.0.1"

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

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

aapt dump badging [apk name]

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

versionCode='2' versionName='0.0.2'

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

答案 13 :(得分:1)

解决它的简单方法是 点击Build&gt;编辑风味......

enter image description here

更改版本代码和版本名称

enter image description here

点击确定并完成

答案 14 :(得分: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&gt;中进行更改。文件说 - &#34; build.gradle(模块:android)&#34;