上传失败您需要为APK使用不同的版本代码,因为您已经拥有版本代码为2的版本代码

问题描述 投票:83回答:14

根据这个答案How to solve "Your APK's version code needs to be higher than 2." in Google Play's Developer Console?我刚刚将版本代码从2更改为3并且无法上传构建。

在我上传apk之前,这是我的旧清单

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="mypackage name"
    android:installLocation="auto"
    android:versionCode="28"
    android:versionName="1.0028" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />
        .....

这是我必须在Android开发者控制台上传的新版本代码。看我的清单

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="mypackage name"
    android:installLocation="auto"
    android:versionCode="2"
    android:versionName="2.0001" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />
        ......

我不知道这个问题是什么。有帮助吗?

android apk
14个回答
85
投票
android:versionCode="28"

你以前的versionCode是28.你应该把它增加1到29。

android:versionCode="29"

据推测,您以前的应用程序版本是1到28.通过使用versionCode 3发布,您与已使用此版本代码发布的应用程序的先前版本相冲突。


2
投票

如果您正在使用使用Expo构建独立应用程序,则由于标准app.json配置仅引用version属性,因此versionCode错误可能会逐渐增加。

我能够在versionCode下添加android属性如下:

示例App.json

{
  "expo": {
    "sdkVersion": "29.0.0",
    "name": "App Name",
    "version": "1.1.0",
    "slug": "app-name",
    "icon": "src/images/app-icon.png",
    "privacy": "public",
    "android": {
      "package": "com.madhues.app",
      "permissions": [],
      "versionCode": 2 // Notice the versionCode added under android.
    }
  }
}

详细文档:https://docs.expo.io/versions/v32.0.0/workflow/configuration/#versioncode


0
投票

这似乎是因为您已经将版本3的APK文件上传到Google Play商店。再次,您正在上传相同版本的apk。所以这个问题已经发生了。

因此,对于解决方案,您需要更改版本名称和版本代码(以1为增量)并运行应用程序一次,导出后将其上传到Google Play。


0
投票

如果您的Flutter App的Android APK出现此错误,请在defaultConfig {}下的app / build.gradle文件中

评论出来

versionCode flutterVersionCode.toInteger()
versionName flutterVersionName

并添加

versionCode 2
versionName "2"

或“以前的版本代码”+ 1。


0
投票

我一次又一次地得到同样的错误, 最后,我使用Google Play Console手动上传了apk文件,如屏幕截图所示。 在App Release下,您选择屏幕截图中显示的“CREATE RELEASE”按钮,然后从/android/app/bin/build/outputs/apk/release/app-release.apk上传您的apk文件 enter image description here


0
投票

在我的情况下,我在我的AndroidManifest有类似的东西,

      javaCompileOptions {
        annotationProcessorOptions {
            arguments = [
                    'androidManifestFile': 'app\\build\\intermediates\\merged_manifests\\debug\\processDebugManifest\\merged\\AndroidManifest.xml'
            ]
        }
   }

这里'androidManifestFile'位置错误,改为

"androidManifestFile": "$projectDir/src/main/AndroidManifest.xml".toString()

一切顺利


0
投票

我将flutter应用程序上传到Playstore时收到了同样的错误,只需更改pubspec.yaml中为我工作的版本。可能会尝试将版本从+1更改为+2,反之亦然,然后使用重建apk

flutter build apk --split-per-abi 

并上传您的用户所需的相应apk


184
投票

对于使用Android Studio的用户,可以通过在versionCode而不是versionName中编辑build.gradleAndroidManifest.xml来解决问题。

EG

defaultConfig {
    applicationId "com.my.packageId"
    minSdkVersion 15
    targetSdkVersion 22
    versionCode 2      <-- change this
    versionName "2.0"  <-- change this
}

20
投票

如果您使用的是ionic framework,请转到config.xml文件并更改“widget”标记中的“version”属性。增加版本号。然后重建,签名并上传你的apk到Play商店。这解决了我的问题。


13
投票

就我而言,这是一个简单的问题。我已经在控制台中上传了一个应用程序,所以我在解决一些问题后尝试重新上传它我所做的就是从神器库中删除以前的APK


9
投票

当您尝试上载与Playstore上已有版本值相同的apk时,会出现此错误。

只需在build.gradle文件中更改以下内容=> versionCode和versionName

defaultConfig {
    applicationId "com.my.packageId"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 2      <-- increment this by 1
    versionName "2.0"  <-- this is the version that shows up in playstore, 
                           remember that the versioning scheme goes as follows.
                           first digit = major breaking changes version
                           second digit = minor changes version
                           third digit = minor patches and bug fixes.
                           e.g versionName "2.0.1"
}

6
投票

在Android Studio 1.1.0中,在versionCode中为build.gradle更改Module: app并且不一定更改versionName

android {
...
    defaultConfig {
...
        versionCode 3
        versionName "1.0"
    }
...
}

4
投票

正如Martin Konecny的answer所说,你需要将versionCode更改为更高的值。

您以前的版本代码是28。它应该改为29

根据document on the android developer website.版本代码是

一个整数值,表示相对于其他版本的应用程序代码的版本。

所以它应该与之前的versionCode相关(通过相关的意思是更高),如文档所述:

您应该确保应用程序的每个后续版本都使用更大的值。

正如文件中再次提到的那样

android:versionCode值不一定与用户可见的应用程序发布版本有很强的相似性(参见android:versionName,下面)

所以即使这是你的应用程序的发布2.0001,它并不一定意味着versionCode是2

希望这可以帮助 :)


4
投票

如果您使用的是Android Studio,则可以:

构建 - >编辑风味

并从那里更改版本代码和名称。

enter image description here


3
投票

如果您正在使用phonegap / cordova应用程序,只需编辑您的config.xml并在小部件中添加android-versionCode和版本。

<widget id =“com.xxx.yyy”version =“1.0.1”xmlns =“http://www.w3.org/ns/widgets”xmlns:cdv =“http://cordova.apache.org/ ns / 1.0“android-versionCode =”100001“version =”1.0.1“>

© www.soinside.com 2019 - 2024. All rights reserved.