将 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
验证您的 APK 版本:
aapt dump badging myapp.apk
它会告诉你增加versionCode
in AndroidManifest.xml
,例如
<manifest android:versionCode="3">
有同样的问题,并通过更改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。
希望这可以帮助 :)
当您准备好将应用程序部署到 APK 时,在 JDeveloper 中转到 Application -> Deploy -> New Deployment Profile。将 Profile Type 设置为 ADF Mobile for Android,选择一个名称并单击 OK。在下一个窗口中选择 Android 选项并更改版本代码。这就是 Google Play 不喜欢的(因为您已经有一个具有相同版本代码的应用程序)。我就是这样解决这个问题的。
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"
}
记住
有同样的问题。更改版本没有帮助。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
我想您已经将版本 2 上传到您的开发控制台。只需将版本代码(注意:不是版本名称!)增加到 3,重建您的 APK 就可以了。
我发现如果你使用的是Android Studio,你需要更新build.gradle
文件中的版本代码。例如:
defaultConfig {
applicationId "app.myapp"
minSdkVersion 14
targetSdkVersion 20
versionCode 2
versionName "1.0.0"
}
...
我有这个问题有一段时间,它难住了我。我尝试重新导入项目。将项目从 Eclipse 导入 Android Studio。一切。我发现有效的是,您必须将版本代码增加 1 个值。您不必更改版本名称。在您导出 apk 文件之前。确保至少构建一次项目。这样新的版本代码就实现了。
在 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 {
}
}
我的解决方案是编辑 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 商店。
appt dump badging myapp.apk
此命令用于检查构建的 apk 版本。但是老把戏解决了这个问题,即使我增加了版本。尝试清理工作区并重新构建。
解决它的简单方法是单击 Build > Edit Flavors...
更改版本代码和版本名称
单击确定并完成
对于我的 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)”