Play Store having new version of the app, but not

2019-01-25 03:02发布

问题:

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>

回答1:

Dude make sure the app u have installed in ur mobile is not 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 installed app certificate. I realized this when i did trial and error with debug and signed apk's. Only signed apk worked. And use versionCode for comparing versions instead of version Name.



回答2:

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.



回答3:

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.



回答4:

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.



回答5:

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.



回答6:

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.