73

I have my app installed in my cell with version 1.0.5 ( Version code 9)

In Google Play Store, I can see my app with version 1.0.7 ( Version code 11 ), but it doesn't show me the button update ( it is showing me the button "Open")

Is it something I have to include in my app???

Is it a bug in Play Store???

Is it a configuration problem???

I join my AndroidManifest.xml

<uses-sdk
    android:minSdkVersion="16"
    android:targetSdkVersion="20" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.spg.googlemaps.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />

<!--
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.BATTERY_STATS" />
-->
<uses-feature
    android:name="android.hardware.camera"
    android:required="true" />
<uses-feature
    android:name="android.hardware.camera.front"
    android:required="false" />

<permission
    android:name="com.spg.googlemaps.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

<application
    android:name="com.myapp.MyApplication"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:logo="@drawable/ic_logo"
    android:theme="@style/Theme.AppCompat" >
    <uses-library android:name="com.google.android.maps" />

    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

    <activity
        android:name="com.myapp.SplashScreen"
        android:label="@string/app_name"
        android:noHistory="true"
        android:screenOrientation="portrait"
        android:theme="@android:style/Theme.Black.NoTitleBar" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.myapp.LoginActivity"
        android:label="@string/title_activity_login"
        android:noHistory="true"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="adjustResize|stateVisible" >
    </activity>
    <activity
        android:name="com.myapp.DashBoard"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.myapp.FragmentTabsPdv"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.myapp.DashBoard" />
    </activity>

    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="@string/maps_key" />

    <activity
        android:name="com.myapp.RutaActivity"
        android:label="@string/title_activity_ruta"
        android:screenOrientation="portrait" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.myapp.FragmentTabsPdv" />
    </activity>
    <activity
        android:name="com.myapp.BaseActivity"
        android:label="@string/title_activity_base"
        android:screenOrientation="portrait" >
    </activity>
    <activity
        android:name="com.myapp.SettingsActivity"
        android:label="@string/title_activity_settings"
        android:screenOrientation="portrait" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.myapp.DashBoard" />
    </activity>
    <activity
        android:name="com.myapp.InformacionPdvActivity"
        android:label="@string/infoPdv"
        android:screenOrientation="portrait" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.myapp.RutaActivity" />
    </activity>

    <receiver android:name="com.myapp.BaseActivity$NetworkChangeReceiver" >
        <intent-filter>
            <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
        </intent-filter>
    </receiver>

    <activity
        android:name="com.myapp.MetricaTabs"
        android:label="@string/title_activity_metrica_tabs"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="adjustPan" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.myapp.RutaActivity" />
    </activity>

    <meta-data
        android:name="com.crashlytics.ApiKey"
        android:value="7d80161d908dd5424f232598dba254c7d2a43307" />

    <activity
        android:name="com.myapp.SendMessageActivity"
        android:label="@string/title_activity_send_message" >
    </activity>
</application>

11
  • 5
    it takes a few hours to be available in the store
    – tyczj
    Commented Nov 19, 2014 at 15:40
  • 4
    Yes, but it is not the problem. As I was saying, Playstore already shows the new version, in public mode ( not in admin mode ), but it doesn't show the update. I've uploaded the apk yesturday.
    – Juliatzin
    Commented Nov 19, 2014 at 15:47
  • when you uninstall/reinstall does it download the correct version?
    – tyczj
    Commented Nov 19, 2014 at 15:49
  • 2
    yes, If I uninstall/reinstall, it is reinstalling new version. But the thing is my user do not do that operation
    – Juliatzin
    Commented Nov 19, 2014 at 15:54
  • 4
    Did you find any solution? I'm also facing the same problem.
    – anubh
    Commented Sep 7, 2016 at 5:45

14 Answers 14

69

Make sure the app you have installed in your mobile is not an apk built with debug keystore. The play store will show always as "Open" button instead of "Update" if the play store app certificate doesn't match with the installed app certificate. I realized this when I did trial and error with debug and signed apk's only signed apk worked. And always use versionCode for comparing versions instead of versionName.

8
  • 3
    I use signed version always!
    – Juliatzin
    Commented Oct 1, 2015 at 14:51
  • 4
    What do you mean by "debug keystore"?? you generate a Keystore after Building in Release mode and archiving the project. there is no "Debug" keystore.. there is just a Keystore....
    – Roy Doron
    Commented Nov 14, 2016 at 10:23
  • 3
    @RoyDoron it is generated default by android studio for building a project into apk every time.it is signed every time with this default keystore file. You can find it on Windows pc at this location C:\Users\XXXXX\.android\debug.keystore Commented Dec 5, 2016 at 8:55
  • 2
    Update will not show for signed packages either. I think it is because google play strips some information from the apk before it gets to the app store, which constitutes some minor difference in the packages, which is why it doesn't show update.
    – dtech
    Commented Dec 5, 2018 at 10:56
  • 2
    Even after the signed APK we get this issue for some of the users. When they first search and open the app in play store. Again when they press back button and click on app, the Update button is shown. Is there anything a developer can do to resolve this problem? Commented Jun 25, 2020 at 9:04
18

It also helps to clear the cache of the Play Store APP in settings. This should not be necessary. The problem is that this blocks an update to the correct version later. Only the version number is updated but not the binary. Google Play then thinks that everything is ok, but it still uses the old APK.

5
  • where you can clear the cache in google play store? Commented Oct 1, 2019 at 19:50
  • Sorry for late reply, follow these instructions: support.google.com/googleplay/answer/7513003 Commented Jun 16, 2020 at 14:17
  • 9
    but if we have a app in production and some good amount of user base we cant tell end users to clear playstore app cache / data Commented Nov 7, 2020 at 4:40
  • Hi. Yes I see that. I haven't found any other workaround yet. So you should at least update your FAQ or documentation/help sections to include the info about the clear cache part. If anyone finds out please post the response here. Commented Nov 9, 2020 at 14:19
  • FYI - Clearing my cache on Play Store app didn't help. The update doesn't show up evern though my versionCode and version and all the other items are set up properly.
    – raddevus
    Commented Jul 2, 2021 at 19:36
13

hope this helps someone since I have benefitted a lot from this community.

If your last installed version is from Android studio, you won't see the 'Update' button in play store. You will see the 'Open' button instead. I have tested this with my development phone in which the app was installed directly using Android studio and also with some of my actual users. My users installed the last version from play store. When I pushed a new update, they see the 'Update' button in play store.

4
  • 1
    Android Studio uses debug keys for debugging, which don't match the release keys used for release builds. Since your Android Studio version has a different key than the Play Store version, it won't update automatically Commented Apr 12, 2018 at 4:32
  • If you download an old APK from your version control console you also won't see the "Update" button. Commented Mar 19, 2019 at 13:56
  • Same for me, even if I use the same keys
    – Sinapse
    Commented Feb 14, 2021 at 10:46
  • THANK YOU! YOU SAVED MY LIFE! Yes, You have to push all updates on the play store and download from it AND NOT test from a version from Android Studio or Visual Studio Code. Google make the difference,may be a security concerrn. I had always the launch button and now I have the upadte (notice, You'll have to wait a bit after you deployed the appbundle to the play console. Good luck!
    – Laurent
    Commented Dec 13, 2021 at 15:26
10

I solve this once my app update button was not showing because i did't installed it directly from play store . Now the solution is download old version of your app from play store and then upload new version of app after publishing of app update button will show.

3
  • I have the same issue, I installed release APK and update version name and version code and upload on play store. Still, I am getting "installed" button instead of "update".
    – Nimisha V
    Commented Sep 13, 2018 at 5:39
  • @nimishaV install apk directly from play store after that when you upload new version it will show you update button. Commented Sep 13, 2018 at 12:02
  • I got solution why I am not getting update option when I install APK from other sources. That is because of app signing.
    – Nimisha V
    Commented Sep 13, 2018 at 12:19
9

Before You Jump into messier solutions try clearing the cache of Play Store and look at your app's play store listing. In my case it worked.

4

You must be sure the android:versionCode (not the app version), is greater than the previous one.
Google won't warn you if it's lower and will let you publish a lower version number.

Example:
If your previous versionCode was 132 you have to make sure the one you publish is greater than 132.

2
  • Mine versionCode was larger but it still didn't show update. Actually, all the items that are supposedly requirements are changed in mine but the update still doesn't want to show. (as of 2021-07-02)
    – raddevus
    Commented Jul 2, 2021 at 19:35
  • Thanks a lot. it helped me.i didn't know the previous version code and i was struggling since one week and i checked the previous build version code and change the it and upload it again and it goes live in few minutes. Thanks a lot. Commented Aug 7, 2022 at 8:47
3

If you have just released your Beta or Production version then you have to wait for at least two hours before you can check your latest version on the store.

Once it's approved, you'll surely see the Update button.

====================================

What to do, if Application is approved now but test device still don't show Update button?

It indicates that Google Play Store app has cache the page, try by kill/close the Google Play Store app and reopen AND also try by clear the cache.

2
  • 1
    What if I release 2 releases in internal testing. Do I get the Update option in that case? Commented Apr 23, 2021 at 8:05
  • Yes, you will get the update option for all added test Gmail accounts.
    – Harpreet
    Commented Apr 29, 2021 at 11:30
1

After updating and release new version on playstore , make sure that you also press Update Roll out button, actually by default, playstore roll out app to only 50% of your users. Update rollout button is available on playstore dashboard as well below your manage release

Second in build.gradle file, make sure to increment versionCode and versionName.

1

I've just found out Google Play is not showing updates for my app to devices with Android version 11, because my app's current version is targeting Android version 10.

In more technical terms, the latest version (of my app) I've uploaded and published at Google Play targets Android API Level 29, which maps to devices up to Android version 10.

According to Google I must change my app Android.manifest file to target Android API Level 30, so that it will then be compatible with Android version 11.

After I do this, my users with Android 11 shall start seeing updates for my app on Google Play store.

This can of course be generalized to a single sentence: "An app's updates are only shown in Google Play for devices whose Android version and Android Level API are compatible with the targeted Android Level API defined in the app's Android.manifest file."

Here are the official links:

0

There are a couple of possibilities. First, clear google plays cache on your device to make sure it's not cached. If you still seeing open Take the following steps to find the problem. You need the apk file on google store to compare with your version. You can use online services that give you apk from google play. Now there are two things we need to check. Certificates: The apk you downloaded from google play should have same certificate as the apk(or aab) you uploaded. To check this you can use keytool on your apks:

keytool -list -printcert -jarfile yourApp.apk

Version codes: To check version codes use analyze tool on android studio. Sure the version on google play should have the bigger number.

0

So first of all you have to make sure the following three points are in place: You are installing exactly the same variant from android studio compared to the one you published on google play store. The app you installed from android studio has a lower "version code" You are using exactly the same signing key. Most likely the third point is what is stopping this from working. The problem is that if you are using app bundle as publishing format, that apk is not created yet when you upload the bundle and it will only be create and SIGNED at a later the stage, when the app is about to be distributed on a specific device. Unfortunately, there is a chance, like in my case, that the signature still will not match perfectly even if you used exactly the same key to sign the app, reason being that if you have singed up for Google Play Store signing, google will add some metadata: "It does however insert a minuscule amount of metadata that helps with verifying the source and integrity of the distribution. This metadata comes in two flavors: For all apps uploaded to Google Play, Play has been adding security metadata after the signing block to enable features such as authorized P2P app sharing. We announced this originally in a blog post in 2017. For apps uploaded as app bundles, we will improve this security by introducing what is called a source stamp. This source metadata is inserted into the app’s manifest by bundletool. When the APK is generated on Play’s server, it’s also signed with a Google key in addition to your app signing key."

You can compare that the two certificates are identical running:

keytool -list -printcert -jarfile yourapk.apk

You should run the above on your local apk and on the google play apk

According to some user tho, there is a fourth point that needs to be satisfied:

  1. The app needs to be installed at least once from google play store, before the update button will show.

I yet haven't been able to make the upload button show for my app

1
  • I updated my app following all of the known procedures. My app doesn't show up with update button still -- yes, deleted cache from play store etc. I also installed the app on one phone and then went to another phone (where previous version is installed) went to the app store to see if it would show update but it doesn't: only shows [open] button. This seems to be an unsolvable mystery at this time. 😞
    – raddevus
    Commented Jul 2, 2021 at 19:42
0

The update is published in stages, each stage is 20%, you have to wait for a 100% update to be published.

0

I found a workaround by opening a chrome browser on the same device, and searching google for the app. You will be able to select to install the app from the results, and will show Update.

0

Saw a 20% rollout in the console. The fix is to change it to 100% rollout and the latest version is immediately available to all devices to update or install. This feature of a limited rollout is good for apps with large user bases so you can test new functionality with a limited user base first.

Not the answer you're looking for? Browse other questions tagged or ask your own question.