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

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

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

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

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

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

在这里输入图像说明

请参阅Android Studio的附件,它应该有所帮助。

通过在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> 

使用aapt来validation您的APK版本:

 aapt dump badging myapp.apk 

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

  <manifest android:versionCode="3"> 

有相同的问题,并通过更改Module: app中的build.gradle文件中的下列值来解决它

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

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

或者,对于noobs,您可以通过点击应用程序的设置并导航到Flavors选项卡来访问这些设置。 在那里你可以修改某些设置,例如versionCode和versionName。

希望这可以帮助 :)

在准备将应用程序部署到APK时,在JDeveloper中,转至应用程序 – >部署 – >新部署configuration文件。 将configuration文件types设置为适用于Android的ADF Mobile,select一个名称并单击确定。 在下一个窗口中selectAndroid选项并更改版本代码。 这就是Google Play所不喜欢的(因为您已经拥有了相同版本的应用程序)。 这就是我解决这个问题的方法。

我有这个问题一段时间,它难倒了我。 我尝试重新导入项目。 从Eclipse将项目带入Android Studio。 一切。 而我发现的工作是,你必须增加1版本的代码。 您不必更改版本名称。 在导出apk文件之前 确保你至less要build立一个项目。 所以新版本代码被实现了。

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

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

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

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

在Android Studio中,我只能通过更改应用程序文件中的versionCode来获得此function。

 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 { } } 

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是针对开发者和谷歌的需要,并且必须增加一个新版本名称,即使将versionName从v1.0.5更改为v1.0.6
 appt dump badging myapp.apk 

这个命令在检查构build的apk版本中起作用。 但是要和老把手解决这个问题,即使我增加了版本。 尝试清理工作区并重新构build。

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

我试着编辑我的AndroidManifest.xml(我可以find每个版本),并更改versionCode和versionName值。 一些AndroidManifest.xml文件被原始值覆盖,有些未被覆盖。 无论如何,apk版本仍然是'1'。

我多次查看config.xml,但versionCode和versionName中都不存在。 我终于决定改变config.xml中的'版本'值,重build,我的apk现在有了新的,正确的版本号。

在config.xml中:

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

新版本属性: "version=0.0.2"

应该指出,我不使用Eclipse或Android Studio …只是一个文本编辑器,并运行手动构build。 现在当我跑步

aapt转储徽章[apk名]

我看到更新的versionCode和versionName …具体来说,我看到这个:

 versionCode='2' versionName='0.0.2' 

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

简单的方法来解决它是点击生成>编辑味道… 在这里input图片描述

更改版本代码和版本名称

在这里input图像说明

点击确定并完成

对于我的Cordova构build的应用程序,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构build的应用程序,您需要在Gradle Scripts> File中修改 – “build.gradle(Module:android)”