将Phonegap应用上传到Google Play Developer Console时出现此错误:
您的APK版本代码需要高于2.
我该如何解决这个问题?
答案 0 :(得分:71)
如果您直接使用Gradle,或通过Android Studio间接使用:
我通过编辑build.gradle
文件中的版本号来修复它! android.manifest文件底部有一个小横幅,上面写着“build.gradle文件正在覆盖这些更改。”
答案 1 :(得分:24)
请参阅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"
}
记住
答案 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;编辑风味......
更改版本代码和版本名称
点击确定并完成
答案 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;