说明:
我在cordova项目中使用代码推送。在Android设备上,当我调用codePush.sync
时,更新的软件包将被正确下载并安装(没有错误),并且可以看到所有更改。但是当我下次恢复使用该应用程序时,所有更改都将消失,并且该应用程序回滚到旧版本。
我如何同步:
if (window.codePush) {
const InstallMode = window.InstallMode;
window.codePush.sync(syncCallback, {
deploymentKey: window.device.platform === 'Android' ? CODE_PUSH_KEY.android : CODE_PUSH_KEY.ios,
installMode: InstallMode.IMMEDIATE
});
}
我如何发布:
code-push release-cordova block-chain-android android --deploymentName ${environment} --des "${description}" --targetBinaryVersion "^2.0.0"
可能出了什么问题
cordova在不同的路径中运行不同的index.html。
首次安装该应用的时间:01-02 19:30:19.719 15422-15422 /? D / CordovaWebViewImpl:>>> loadUrl(file:///android_asset/www/index.html)
然后安装并重新启动更新: 01-02 19:31:55.424 15422-15422 /? D / CordovaWebViewImpl:>>> loadUrl(文件:/data/user/0/com.test.testApp/files/codepush/deploy/versions/62b60c3f481e89c83d5fd6d7f215133aa16bf800cde246f0453f073224e55e52/www/index.html)
最后,我们确实看到了更改,然后恢复了应用程序:01-02 19:32:18.029 15422-15422 /? D / CordovaWebViewImpl:>>> loadUrl(file:///android_asset/www/index.html)
相关版本:
下载并安装软件包后,我没有错过任何事情吗,例如tellCodePushToCopyIndexHtml
答案 0 :(得分:0)
已解决。
我忘了像codePush.notifyApplicationReady()
那样在deviceready
中叫document.addEventListener('deviceready', () => { window.codePush.notifyApplicationReady() }, false);