我在我的单元中安装了1.0.5版的应用程序(版本代码9)
在谷歌应用商店,我可以看到我的应用程序版本1.0.7(版本代码11),但它没有显示我的按钮更新(它显示我的按钮打开)
它是我必须包含在我的应用程序中的东西吗???
这是Play商店的bug吗???
是否是配置问题???
我加入我的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>
确保您在手机中安装的应用程序不是使用debug keystore构建的apk。如果play store应用程序证书与已安装的应用程序证书不匹配,play store将始终显示为“打开”按钮而不是“更新”。当我使用debug进行试错并签名apk的唯一签名apk工作时,我意识到了这一点。并且始终使用versionCode来比较版本而不是versionName。
它还有助于清除设置中Play商店APP的缓存。这应该不是必需的。问题是,这会阻止稍后对正确版本的更新。仅更新版本号但不更新二进制文件。谷歌播放然后认为一切都可以,但它仍然使用旧的APK。
希望这能帮助到某人,因为我从这个社区受益匪浅。
如果你最后安装的版本来自Android Studio,你不会在游戏商店看到“更新”按钮。你会看到“打开”按钮。我已经用我的开发手机测试了这一点,其中应用程序是直接使用Android Studio安装的,还有我的一些实际用户。我的用户从游戏商店安装了最后一个版本。当我推送新的更新时,他们会在游戏商店看到“更新”按钮。