Cordova Microsoft Codepush随机回滚

Cordova Microsoft Codepush随机回滚,cordova,phonegap-build,phonegap,code-push,Cordova,Phonegap Build,Phonegap,Code Push,电话差距构建 我一直在使用Phonegap构建来构建Android(apk)和iOS(ipa)文件。 Codepush()的文档说明该插件与Phonegap Build兼容。然而,我已经为iOS和Android构建了应用程序(根据Android的建议,将添加到config.xml中),但是,这两个应用程序都不会从Codepush中获取新版本-该应用程序只会按照原始安装进行显示 随机回滚 我在用Android测试Codepush时遇到了重大挫折。我在设备上安装了编译后的应用程序,运行正常。我通过对

电话差距构建

我一直在使用Phonegap构建来构建Android(apk)和iOS(ipa)文件。 Codepush()的文档说明该插件与Phonegap Build兼容。然而,我已经为iOS和Android构建了应用程序(根据Android的建议,将
添加到config.xml中),但是,这两个应用程序都不会从Codepush中获取新版本-该应用程序只会按照原始安装进行显示

随机回滚

我在用Android测试Codepush时遇到了重大挫折。我在设备上安装了编译后的应用程序,运行正常。我通过对html文件做一个小改动来修改应用程序,并使用appcenter codepush release cordova。。。推出新的更新

然后我运行应用程序,关闭它,然后再次运行它。前两个或三个更新将被正确拾取。但是,在此之后(不一致,发生这种情况时不同设备),下一次更新失败,应用程序恢复到安装的版本,在appcenter中,更新显示在“回滚”下

从那时起,任何新版本都将被忽略,应用程序将保持安装版本。 唯一的两个解决办法似乎是 1.重新安装应用程序-这将修复它并开始接收新版本,直到再次失败或失败 2.清除部署的整个历史记录。同样,这会修复它,直到它再次失败

更新没有崩溃-我只是更改了index.html中的一些文本,这样它就不会崩溃(加上更新将安装在一台设备上,但在另一台设备上失败,所以它不会崩溃)

应用程序触发Codepush同步,如下所示:

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    codePush.sync(null,{
        ignoreFailedUpdates : false
    });
}
我尝试过使用和不使用“IgnoreFailedUpdate”选项,但最终都失败了。 我假设问题是由于应用程序未能完成
codePush.notifyApplicationReady
,可能是由于网络问题

然而,这似乎是一个阻碍,因为它有效地使Codepush在现实世界中无法使用。不保证更新会到达用户;更糟糕的是,如果更新失败,应用程序将回滚到上次安装的版本,并随后忽略所有新的更新,因此它们将停留在旧版本,或者不得不经历重新安装应用程序的痛苦。(每次更新时清除部署的历史记录可能有效,但不能保证)

例如,我创建了一个应用程序,它简单地显示一些html,包括一个版本号。 构建并安装

“v1.00”

编辑html,将版本更改为v1.01

发布更新(已使用
appcenter apps set-current-a…
将应用程序设置为当前应用程序)

打开应用程序,关闭它,然后再次打开

正确显示 “v1.01”

编辑html,将版本更改为v1.02

发布更新

打开应用程序,正确显示

“v1.02”

关闭它,然后重新打开它

显示“v1.00”,appcenter显示回滚

我已尝试在appcenter codepush release cordova上使用“-m”选项

另外,我在安卓6和安卓7上都试过,但都有同样的问题

我的问题是: 1.还有什么我可以尝试让更新正确安装,或者,如果更新失败,不要将应用冻结在上次安装的状态并忽略任何未来的更新。 2.这是一个科尔多瓦问题,还是如果我使用React Native切换,可能会发生同样的情况? 3.有没有办法让Codepush与Phonegap构建一起工作#

我们希望能够向我们的用户群推出一款应用程序,但不必在每一个小改动上都重新安装。Codepush似乎是一个完美的解决方案,然而,目前,它看起来似乎根本不可行


任何帮助都将不胜感激。

你有什么收获吗?我们面临着同样的问题!我已经设法一次又一次地挖掘出一些相关的日志,这些日志给我们提供了“无效的操作”。这里也是一样,只是恢复到最初的版本。糟透了,我对此寄予厚望。这里也是,等待有人能回答这个问题。
appcenter codepush release-cordova -d Staging