我有一个在 Play 商店上发布的 android 应用程序。我正在尝试在 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 上可以使用更高版本的代码进行更新。
还有其他人也遇到过类似的问题吗??