【发布时间】:2020-04-24 11:00:49
【问题描述】:
我有一个在 Play Store 上发布的安卓应用。我正在尝试在 App 更新中实现并使用 android 内部跟踪共享对其进行测试。
为了在内部轨道上分享,我尝试关注,一切都给了我相同的结果。 1. 创建 Apk。使用应用程序的发布密钥签名 2. 创建 aap 包。使用应用程序的发布密钥签名 3.创建Apk。将其保持在调试模式而不签名 4. 创建 aap 包。将其保持在调试模式而不签名。
在上述所有场景中,在将应用程序上传到内部测试轨道并从 url 下载后,注意到以下一致行为。
- appUpdateInfoTask.addOnSuccessListener 在应用启动时被调用
- appUpdateInfo.availableVersionCode() 返回内部测试轨道应用的版本代码,而不是生产中可用的更新。
- 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