Android inApp 更新总是显示更新不可用和证书不匹配警告

标签 android google-play in-app-update

我有一个在 Play 商店发布的 Android 应用程序。我正在尝试在 App 更新中实现并使用 android 内部轨道共享对其进行测试。

为了在内部轨道上分享,我尝试了关注,一切都给了我相同的结果。 1.创建的应用程序。使用应用程序的发布 key 签名 2. 创建 aap 包。使用应用程序的发布 key 签名 3.创建了Apk。在没有签名的情况下将其保持在 Debug模式 4. 创建 aap 包。在没有签名的情况下将其保持在 Debug模式。

在上述所有场景中,在将应用程序上传到内部测试轨道并从 url 下载后,会发现遵循一致的行为。

  1. appUpdateInfoTask.addOnSuccessListener 在应用程序启动时调用
  2. appUpdateInfo.availableVersionCode() 返回内部测试轨道应用的版本代码,而不是生产可用的更新。
  3. appUpdateInfo.updateAvailability() 返回更新不可用。

除了在 logcat 中,我们还会获得以下兴趣点日志。

(app package name) is installed but certificate mismatch.

我的应用更新代码如下。

    private void checkforappupdate() {

        Log.v("oneteamlive",".........checking for application update....");
        // Creates instance of the manager.
        AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(this);

        // Returns an intent object that you use to check for an update.
        Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();

// Checks that the platform will allow the specified type of update.s
        appUpdateInfoTask.addOnSuccessListener(
                appUpdateInfo -> {
                    Log.v("oneteamlive","in app update info listenere");
                    Log.v("oneteamlive","Available version code is:"+appUpdateInfo.availableVersionCode());
                    Log.v("oneteamlive","Available version code is:"+appUpdateInfo.updateAvailability());
            if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE)
                     {
                // Request the update.
                         Log.v("oneteamlive","A new update is available");
                         Toast.makeText(this,"A new update is available",Toast.LENGTH_LONG).show();
            }
            else
            {
                Log.v("oneteamlive","no app update is available");
            }
        });
    }

我仔细检查了我的 Playstore 是否已完全关闭,并且可以使用更高版本的代码在 PlayStore 上进行更新。

还有其他人也遇到过类似的问题吗??

最佳答案

我也遇到了完全一样的问题,不知道是不是内测轨道的app被google下架了。显然,内部共享的应用程序正在根据以下原因辞职:https://support.google.com/googleplay/android-developer/answer/9844679?hl=en&visit_id=637491136221021613-3110759148&rd=1 但是对于内部测试轨道,当我下载应用程序时,我可以看到公共(public)证书与我在上传到谷歌游戏商店之前创建的 apk 完全匹配。

关于Android inApp 更新总是显示更新不可用和证书不匹配警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61406825/

相关文章:

java - 使用 google API key 的 URL 缩短器

android - Google Play 商店上的智能应用更新 : how does it work?

android - 如何取消 Google Play Developer Console 上的待定发布?

android - Android:在Google Play上上传APK时出错(使用Flavor)

安卓 : Support in-app updates result getting cancelled

javascript - 使用 ngCordova 检查 Activity 网络连接,如果在 ionic 中不活动则退出应用程序

android - Jetpack Compose 中可调整大小的 BasicTextField

java - 如何使用 Sketchware 修改 Java 代码以发送多个电子邮件附件?

android - 应用内更新(立即)不重新启动应用

android - Flutter AppUpdateService 链接到死亡