184

According to this answer How to solve "Your APK's version code needs to be higher than 2." in Google Play's Developer Console? I have just changed the version code from 2 to 3 and it failed to upload the build.

This is my old manifest before I uploaded the 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" />
        .....

here is the new version code which I have to upload on android developer console. See my menifest

<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" />
        ......

I dont know whats the issue. Any help? enter image description here

Community
  • 1
  • 1
Ahmad Arslan
  • 4,498
  • 8
  • 38
  • 59

22 Answers22

250

For people who use Android Studio the problem may be solved by editing versionCode and versionName in build.gradle instead of AndroidManifest.xml.

e.g.

defaultConfig {
    applicationId "com.my.packageId"
    minSdkVersion 15
    targetSdkVersion 22
    versionCode 2      <-- change this
    versionName "2.0"  <-- change this
}
Urbycoz
  • 7,247
  • 20
  • 70
  • 108
FFinn
  • 2,615
  • 2
  • 13
  • 6
  • 3
    Can you read AndroidManifest.xml from build.gradle? Doesn't make sense to have values twice. – MonoThreaded Feb 09 '15 at 21:20
  • 1
    This is the answer. Tha what happend here is that the gradle is the the one incharge to build the proyect, so it overwrites the versions – jasmo2 Mar 06 '17 at 14:17
  • 1
    make sure the versionCode is a whole number and you sync after the change. – sk md Jun 25 '19 at 02:12
  • 2
    React-native solution https://stackoverflow.com/a/51003398/6747265 – Oleg Reym Sep 14 '20 at 10:32
  • When using Flutter you do not need to change this in those files but in `pubspec.yml`. There is a `version` property that default looks like `1.0.0+1`. The number after `+` corresponds to the `versionCode`. So if you want to raise to version code `3` you need to change the `version` property in `pubspec.yml` to `1.0.0+3` – xetra11 Nov 25 '22 at 08:05
144
android:versionCode="28"

Your previous versionCode was 28. You should increment it by 1 to 29.

android:versionCode="29"

Presumably, your previous app versions were 1 through 28. By releasing with versionCode 3, you are conflicting with a previous version of your app that was already released with this versionCode.

Martin Konecny
  • 57,827
  • 19
  • 139
  • 159
61

In my case it a simple issue. I have uploaded an app in the console before so I try re-uploading it after resolving some issues. All I do is delete the previous APK from the App Bundle Explorer (formally called Artifact Library)

Thecarisma
  • 1,424
  • 18
  • 19
  • 23
    I uploaded a version through the Google Play Console, then deleted before publishing, and uploaded again and got the OP error. I thought I had deleted it, but it was still present in the Artifact Library. Delete from there then I could upload... – Scuzzlebutt Jun 15 '18 at 20:30
  • This is the answer. – user30478 Jun 04 '21 at 14:59
  • 3
    `Artifact Library` is now `App Bundle Explorer` on right hand side bar of the console. – user30478 Jun 04 '21 at 16:36
  • Thank you ! I didn't understand how it was possible since my number are generated incrementaly – benuuts Jun 17 '21 at 12:40
25

if you are using ionic framework, go to config.xml file and change the "version" attribute in the "widget" tag. increase the version number. then rebuild, sign and upload ur apk to play store. that fixed my problem.

user2407334
  • 887
  • 1
  • 10
  • 15
  • 7
    Thanks. I will Just to add few details. I changed version attribute in widget tag from **0.0.1** to **0.0.2**. After executed `cordova build --release android` command, this change modified AndroidManifest.xml in two attributes, from **android:versionCode="1"** to **android:versionCode="2"** and from **android:versionName="0.0.1" ** to **android:versionName="0.0.2"** in manifest tag. – remat_br Jul 05 '16 at 18:46
24

This error appears when you try to upload an apk that has same version values as the one already on playstore.

Just change the following in your build.gradle file => versionCode and 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"
}
Kingston Fortune
  • 905
  • 8
  • 17
24

(For Flutter App) You need to use a different version code for your APK or Android App Bundle because you already have one with version code 1.

Don't be panic...

You need to change in Flutter Version from pubspec.yaml file and Version Code from local.properties file.

First go to your pubspec.yaml file. The first three lines should be name, description and version of App.

Before Release -

For you the version might look something like this:

version: 1.0.0+1

So before creating an apk for release (for update your exiting app on Google Play Console i.e for new update) make sure you increment this number by 1. (You should increment it as there's no requirement on increment step) .

Solution

Just change that version to (As per your need )

version: 1.0.1+2

And Second if

flutter.versionCode in Project -> android -> local.properties is

flutter.versionCode=1 then change it or upgrade it to the flutter.versionCode=2 or any other greater number than previous code.

And finally release the app as per documentation.

  • 1
    So for a Version code following _Semantic Versioning_, where it is `major.minor.patch+build`, Play is _only_ looking at the last `build` component? (That isn't a bug?) – AWhitford Jun 30 '20 at 03:46
  • 1
    Correct yes. checkout "Changing the apps version number" in the docs - https://flutter.dev/docs/deployment/android#building-the-app-for-release – Wesley Barnes Mar 15 '21 at 13:09
  • 1
    Works for Flutter. Thank you! – Johan Oct 30 '21 at 11:49
17

Sometimes the PlayStore encounters a bug when you upload an APK during a Release creation, and you are stuck because you cannot upload the same APK again, for the current draft release. You get the error "Upload failed..."

The solution is to go to the Artifact library menu, under Release management and to delete the draft artifact. Once this is done, you will be able to upload the APK again, and to finish your release.

Hope it will help others...

Ben

bma350
  • 1,211
  • 11
  • 11
  • This. This happens if you start uploading a binary and cancel it even if the upload process is finished on the UI. You have to delete the previous bundle. – mcy Oct 27 '20 at 14:04
8

If you're using Building Standalone Apps with Expo, the versionCode error might creep up owing to the fact that the standard app.json config only has a reference to the version property.

I was able to add a versionCode property under android as follows:

Sample 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.
    }
  }
}

Detailed documentation: https://docs.expo.io/versions/v32.0.0/workflow/configuration/#versioncode

Sunny R Gupta
  • 5,026
  • 1
  • 31
  • 40
7

In Android Studio 1.1.0, change versionCode in build.gradle for Module: app and don't necessarily change versionName:

android {
...
    defaultConfig {
...
        versionCode 3
        versionName "1.0"
    }
...
}
DSlomer64
  • 4,234
  • 4
  • 53
  • 88
4

Just as Martin Konecny's answer said, you need to change the versionCode to something higher.

Your previous version code was 28. it should be changed to 29.

According to the document on the android developer website. a version code is

An integer value that represents the version of the application code, relative to other versions.

So it should be related(by related I mean higher) to the previous versionCode as noted by the document:

you should make sure that each successive release of your application uses a greater value.

As mentioned again in the document

the android:versionCode value does not necessarily have a strong resemblance to the application release version that is visible to the user (see android:versionName, below)

So even though this is the release 2.0001 of your app, it does not necessarily mean that the versionCode is 2.

Hope this helps :)

Community
  • 1
  • 1
Keale
  • 3,924
  • 3
  • 29
  • 46
4

If you're using Android Studio, you could go:

Build -> Edit Flavors

And change the Version Code and Name from there.

enter image description here

YYY
  • 1,659
  • 2
  • 12
  • 11
3

if you are using phonegap / cordova applications, just edit your config.xml and add the android-versionCode and version in the widget.

<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">

Sanjoy Kanrar
  • 899
  • 8
  • 11
3

2021! For Flutter developers!

in your pubspec.yaml:

enter image description here

Detailed answer is here

Don't put feedback after!

Akbar Pulatov
  • 2,955
  • 2
  • 16
  • 33
3

Last Updated 18-12-2021:

  1. Go to Google Play Console if you want to delete or revised same version and choose “App Bundle Explorer”:

enter image description here

  1. Pick the version:

enter image description here

  1. If you have build version that not been released yet, you can delete it. Delete options not showed when you don’t have pending release.

Or if you just simply ignore pending release, you can use new build. Go to pubspec.yaml and set this:

version: 1.4.17+67

That’s for example if you have version: 1.4.17+66 before.

bandungeuy
  • 378
  • 4
  • 19
  • what is maximum number for version code? can it be 1.4.17+9999 ? – B.Cos Jan 25 '22 at 16:13
  • “Warning: The greatest value Google Play allows for versionCode is 2100000000.” stated at https://developer.android.com/studio/publish/versioning.html – bandungeuy Jan 27 '22 at 23:39
1

If you get this error for your Flutter App's Android APK, in your app/build.gradle file under defaultConfig {}

comment out

versionCode flutterVersionCode.toInteger()
versionName flutterVersionName

and add

versionCode 2
versionName "2"

or "previous version code" + 1.

Henry
  • 379
  • 4
  • 11
1

I received the same error while uploading a flutter app to playstore simply change the version code in pubspec.yaml worked for me. may be try changing the version code e.g from +1 to +2 and then rebuild the apk using

flutter build apk --split-per-abi 

and upload all the apk's to the playstore for your users. Next time when you want to push an update make sure to update the version code to +3 and so on.

Note: that the version code and version name are different you can see that in android/local.properties file. e.g version: 1.0.0+2

version is 1.0.0 and verison code is +2

Community
  • 1
  • 1
Mahesh Jamdade
  • 17,235
  • 8
  • 110
  • 131
1

just change the version code in yaml file.

version: 1.0.0+2 --> 1.0.0+3 
Gayan Chinthaka
  • 521
  • 6
  • 5
0

This seems because you have already uploaded APK file of version 3 to Google Play Store. And again you are uploading apk with same version. So this issue has been occurred.

So for solution you need to change your version name and version code (increment with 1)and run application once and after export it upload to Google Play.

Piyush
  • 18,895
  • 5
  • 32
  • 63
0

I kept getting same error again and again,

Finally I uploaded the apk file manually using Google Play Console as shown in screen shot.

Under App Release, You select the button "CREATE RELEASE" shown in the screen shot and upload your apk file from /android/app/bin/build/outputs/apk/release/app-release.apk

enter image description here

Akshay Vijay Jain
  • 13,461
  • 8
  • 60
  • 73
0

In my case I had something like this in my AndroidManifest,

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

here the 'androidManifestFile' location is wrong, changed it to

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

everything worked

MJakhongir
  • 2,101
  • 2
  • 16
  • 27
0

In my app/build.gradle file , version code was like this:-

build.gradle(app module) file

In place of versionCode flutterVersionCode.toInteger() , i replaced it with as versionCode 2

Shiva Yadav
  • 72
  • 1
  • 9
0

For flutter and bitbucket pipelines.

You could use the command flutter build apk --release --build-number=YOURVARNUMBER

--build-number=4 lets you assign the build number 4 when you compile apk file.

This can be used to increment the number in a pipeline build. For instance if you use some kind of continues integration pipeline. Like bitbucket pipelines, you can write flutter build apk --release --build-number=$BITBUCKET_BUILD_NUMBER this way each build will automatically have an incremented number, rather then you having you write this number yourselfe.

Bo Kristensen
  • 1,460
  • 11
  • 8