【问题标题】:Android inApp update always show update not available and certificate mismatch warningAndroid inApp 更新总是显示更新不可用和证书不匹配警告
【发布时间】:2020-04-24 11:00:49
【问题描述】:

我有一个在 Play Store 上发布的安卓应用。我正在尝试在 App 更新中实现并使用 android 内部跟踪共享对其进行测试。

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

在上述所有场景中,在将应用程序上传到内部测试轨道并从 url 下载后,注意到以下一致行为。

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

在 logcat 中,我们会得到以下兴趣点日志。

(应用程序包名称)已安装,但证书不匹配。

我的应用更新代码如下。

    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 上可以使用更高版本的代码进行更新。

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

【问题讨论】:

    标签: android google-play in-app-update


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,但有 InApp 评论。以下是我得到的错误:

      07-09 10:36:19.834  8532 11374 I Finsky  : [27174] fki.<init>(18): com.marcetown.myapp is installed but certificate mismatch
      07-09 10:36:19.962  8532 11214 E Volley  : [27115] doi.a: Unexpected response code 404 for https://play-fe.googleapis.com/fdfe/allowInAppReview?doc=com.marcetown.myapp
      

      我觉得这是我的问题。我没有这样做:

      我在 Sinapse 发送的链接上找到了这个。我会尝试用我的结果更新我的评论。谢谢你 Sinapse,至少你给了我一个可以看的地方。

      @编辑 我的问题是我使用的是内部测试而不是内部应用程序共享https://play.google.com/console/u/0/internal-app-sharing/ 可能和你不一样,但我会检查我附加的证书图像并确保你正确设置它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-22
        • 1970-01-01
        • 2018-08-13
        • 2012-10-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多