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

时间:2014-07-16 04:48:23

标签: android apk

根据这个回答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" />
        ......

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

22 个答案:

答案 0 :(得分:174)

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

e.g。

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

答案 1 :(得分:76)

android:versionCode="28"

您之前的versionCode是28.您应该将其增加1到29。

android:versionCode="29"

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

答案 2 :(得分:17)

如果您使用离子框架,请转到 config.xml 文件并更改&#34;版本&#34; 属性&#34;小部件&#34; 标记。增加版本号。然后重建,签名并上传你的apk到Play商店。这解决了我的问题。

答案 3 :(得分:11)

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

答案 4 :(得分:8)

(适用于Flutter应用),因为您已经有一个版本代码为1的APK或Android应用包,因此您需要使用其他版本代码。

不要惊慌...

您需要在 pubspec.yaml 文件中更改 Flutter版本,并在 local.properties 中更改版本编码 e。 >文件。

首先转到您的 pubspec.yaml 文件。前三行应为App的名称,说明和版本。

发行前-

对于您来说,版本可能看起来像这样:

版本:1.0.0 + 1

因此,在创建要发布的APK(用于在 Google Play控制台上更新现有应用程序,即进行新更新)之前,请确保将此数字增加1。(由于没有必要,因此应将其增加在增量步骤上)。

解决方案

只需将该版本更改为(根据您的需要)

版本:1.0.1 + 2

第二个是

项目-> android-> local.properties 中的

flutter.versionCode

flutter.versionCode = 1 ,然后将其更改或升级为 flutter.versionCode = 2 或任何比以前的代码更大的数字。

最后根据文档发布该应用。

答案 5 :(得分:6)

在Android Studio 1.1.0中,更改versionCode build.gradle中的Module: app并更改versionName

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

答案 6 :(得分:5)

当您尝试上载具有与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"
}

答案 7 :(得分:4)

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

您之前的版本代码为28。它应该更改为29

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

  

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

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

  

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

正如文件中所述

  

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

即使这是您应用的发布2.0001,也不一定意味着versionCode为2

希望这会有所帮助:)

答案 8 :(得分:3)

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

  

&lt; widget id =&#34; com.xxx.yyy&#34;版本=&#34; 1.0.1&#34;的xmlns =&#34; HTTP://www.w3.org/ns/widgets"的xmlns:CDV =&#34; HTTP://cordova.apache.org/ns/1.0"   机器人-的versionCode =&#34; 100001&#34;   版本=&#34; 1.0.1&#34;&GT;

答案 9 :(得分:3)

如果您正在使用Android Studio,则可以:

构建 - &gt;编辑风味

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

enter image description here

答案 10 :(得分:3)

2021!对于 Flutter 开发者!

在您的 pubspec.yaml 中:

enter image description here

详细答案是here

不要把反馈放在后面!

答案 11 :(得分:2)

如果您正在使用带有Expo的Building Standalone Apps,则由于标准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

答案 12 :(得分:2)

在Flutter中

更新版本:pubspec.yaml中的1.0.0 + 1。

该应用程序的默认版本号是1.0.0。要对其进行更新,请导航至pubspec.yaml文件并更新以下行:

version: 1.0.0+1

+1(+后面的数字)表示版本代码,例如1、2、3等。

像这样

version: 1.0.1+2

版本号是用点号分隔的三个数字,例如上例中的1.0.0,后跟可选的内部版本号,例如上例中的1,并用+分隔。

在Flutter的版本中,可以分别指定--build-name和--build-number来覆盖版本和内部版本号。

在Android中,内部版本号用作versionName,而内部版本号用作versionCode。有关更多信息,请参见Version your app

pubspec file中更新版本号后,从项目顶部运行flutter pub get,或使用IDE中的Pub get按钮。这样会更新versionName文件中的versionCodelocal.properties,随后在重建Flutter应用程序时会在build.gradle文件中对其进行更新。

答案 13 :(得分:1)

只需更改 yaml 文件中的版本代码即可。

version: 1.0.0+2 --> 1.0.0+3 

答案 14 :(得分:0)

用于颤振和 bitbucket 管道。

您可以使用命令 flutter build apk --release --build-number=YOURVARNUMBER

--build-number=4 允许您在编译 apk 文件时指定内部版本号 4。

这可用于增加管道构建中的数字。例如,如果您使用某种持续集成管道。像bitbucket管道一样,你可以写 flutter build apk --release --build-number=$BITBUCKET_BUILD_NUMBER 这样每个构建都会自动有一个递增的数字,而不是你自己写这个数字。

答案 15 :(得分:0)

在我的 app / build.gradle 文件中,版本代码如下:-

build.gradle(app module) file

代替 versionCode flutterVersionCode.toInteger(),我将其替换为 版本代码2

答案 16 :(得分:0)

我一遍又一遍地出现相同的错误,

最后我使用 Google Play控制台手动上传了apk文件,如屏幕截图所示。

在App Release中,您选择屏幕快照中显示的“ CREATE RELEASE”按钮,并从/android/app/bin/build/outputs/apk/release/app-release.apk上传您的apk文件

enter image description here

答案 17 :(得分:0)

有时候,在发布创建期间上传APK时,PlayStore会遇到错误,并且由于无法为当前的草稿版本再次上传相同的APK而陷入困境。您收到错误“上传失败...”

解决方案是转到发布管理下的工件库菜单,然后删除工件草稿。完成此操作后,您将可以再次上传APK,并完成发布。

希望它将对其他人有帮助...

答案 18 :(得分:0)

在将flutter应用程序上载到Playstore时,我只是遇到了同样的错误,只需更改pubspec.yaml中的版本即可。可以尝试将版本从+1更改为+2,反之亦然 然后使用

重建apk
{
  "runId": 0,
  "runScenariosDTO": [
    {
      "scenarioId": 0,
      "totalDataset": 0,
      "totalExecuted": 0,
      "totalFailed": 0,
      "totalPassed": 0
    }
  ],
  "totalScenarios": 0
}

并上传用户所需的适当apk

答案 19 :(得分:0)

在我的情况下,我的AndroidManifest中有类似的内容,

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

此处“ androidManifestFile”位置错误,将其更改为

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

一切正常

答案 20 :(得分:0)

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

评论

versionCode flutterVersionCode.toInteger()
versionName flutterVersionName

并添加

versionCode 2
versionName "2"

或“先前版本代码” +1。

答案 21 :(得分:0)

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

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