Google Play Store Release Issue

AndroidCordovaGoogle PlayCordova 3

Android Problem Overview


I am trying to release a new version of my Android App. I can upload the APK file but after I click the "Review" Button I am getting below error.

Review summary Errors

Resolve these errors before starting the rollout of this release. You can't rollout this release because it doesn't allow any existing users to upgrade to the newly added APKs.

Please note that this app was developed using CORDOVA

The app version details are as below image. The only difference from the previous and this new version is the Target SDK is changed from 24 to 26

Can someone please give some idea to fix this issue. Thanks for your help

enter image description here

Android Solutions


Solution 1 - Android

I contacted the Google support and they replied within 24 hours.

The issue is the android:versionCode in the AndroidManifest.xml is lower than my previous release. After I fixed the issue I was able to release my app without any issue.

How I fixed the issue

I changed the android-versionCode to a higher value in <manifest tag in the config.xml file so AndroidManifest.xml has the higher value.


Full reply from Google

> Hi, > > Thanks for contacting Google Play Developer Support. > > You're seeing that error message because your new APK has a lower version code than the previous APK. Newer APKs must always have a higher version code than the previous version, or the Play Store won't know that the new APK is an update. Please change your new APK's version code to be at least 206020. > > Regards, > > Google Play Developer Support

Solution 2 - Android

If your Old APK version is a higher number than your New APK version then you get this error. enter image description here

It is not the version name that matters, that can actually be any string, it is only the version code which must always be higher than a previous version.

https://developer.android.com/studio/publish/versioning

To fix for Flutter

In pubspec.yaml it is the version line, and the number after the + sign is the one that must be higher than the Old Version Code shown in the Google Play Console screen as the "1 app bundle deactivated".
That would be 50 if this was your version line :

version: 1.0.0+50

Solution 3 - Android

I faced same issue, interestingly the versioncode(120001) of new release (12.0.0) was less than the versioncode(1104058) previous release (11.4.5)

I resolved this issue following this link https://stackoverflow.com/questions/46068983/setting-android-version-code-in-ionic-2

Solution 4 - Android

Update both versionCode and versionName. 

minSdkVesion 16 
targetSdkVesion 26
versionCode 2
versionName 1.1

Solution 5 - Android

In your config.xml file's <widget> element, add/increment the android-versionCode attribute by one:

<widget id="com.example.foo" version="1.0.1" android-versionCode="10001" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">

After that, running a cordova clean android and cordova build android --release gave me an .apk that the Google Play Console accepted.

Solution 6 - Android

have you upgraded your versionCode from previous versionCode?

minSdkVesion 16 
targetSdkVesion 26
versionCode 1 //you need to upgrade it from previous one
versionName 1.0

Solution 7 - Android

If you are Monaca Cloud IDE for building and you are facing this error You cannot make this version available because it does not allow existing users to upgrade to new APKs that have been added. So here what is the problem, When you try to build APK then it generates a random number,

So make sure your new update version code is greater then this 10505 enter image description here

You can set in Monaca Cloud IDE version code

enter image description here

Solution 8 - Android

In the root of your project will be a config.xml file. It contains a widget node that has an attribute of version. 1.17.01 in Example: <widget id="com.myapp.mobile" version="1.17.01" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">

During a cordova prepare operation, this config.xml file is merged into the manifest file for your platform (e.g. platforms\android\app\src\main\AndroidManifest.xml for Android). The merged manifest file will contain both a version code and version string generated from the version listed in the config.xml. Ex: <manifest android:hardwareAccelerated="true" android:versionCode="11701" android:versionName="1.17.01" package="com.myapp.mobile" xmlns:android="http://schemas.android.com/apk/res/android">

This version code 11701 will be what is listed on the play console. To automatically set this version greater, you can add to your gradle.properties file a variable setting cdvVersionCodeForceAbiDigit=true which will automatically multiply the version by 10. Note this logic is laid out in the build.gradle file at the root of your platform app folder. There is other logic toggled with the cdvBuildMultipleApks variable to set different values based on product flavor (arm, x86, etc). But I think the recommended approach today is to upload a "bundle" and let Google automatically generate the separate apks for various device configurations.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAugustine JosephView Question on Stackoverflow
Solution 1 - AndroidAugustine JosephView Answer on Stackoverflow
Solution 2 - AndroidkrisView Answer on Stackoverflow
Solution 3 - AndroidNagaView Answer on Stackoverflow
Solution 4 - AndroidNiranjanView Answer on Stackoverflow
Solution 5 - Androidtyler.frankensteinView Answer on Stackoverflow
Solution 6 - AndroidxbadalView Answer on Stackoverflow
Solution 7 - AndroidUmer Waqas CEO FluttydevView Answer on Stackoverflow
Solution 8 - Androidsonyisda1View Answer on Stackoverflow