更新时出现科尔多瓦代码推送错误

cordova code-push error on update

我在我的 ionic 应用程序 (https://github.com/Microsoft/cordova-plugin-code-push) 中使用 Microsoft Code Push 服务的 Cordova 插件。

目前我构建了一个 android 应用程序 [ionic build android],将该更新推送到代码推送 [code-push release-cordova ionic-atslogin-android -m android],然后使用包含代码推送同步的应用程序。我看到更新被识别、下载,并且尝试安装但失败。有什么想法如何 troubleshoot/fix?

11-14 10:25:32.684  4401  4401 I chromium: [INFO:CONSOLE(36)] "[CodePush] Package download success: {"deploymentKey":"KEY-HERE","description":"","label":"v8","appVersion":"0.0.1","isMandatory":true,"packageHash":"9bf0fcb79157619cf1eded10c3de186a7aeb2f4b02e96ef094886f429cdc0ef4","isFirstRun":false,"failedInstall":false,"localPath":"cdvfile://localhost/files/codepush/download/update.zip"}", source: file:///android_asset/www/plugins/cordova-plugin-code-push/bin/www/codePushUtil.js (36)
11-14 10:25:32.685  4401  4401 I chromium: [INFO:CONSOLE(82045)] "8", source: file:///android_asset/www/build/main.js (82045)
11-14 10:25:32.686  4401  4401 I chromium: [INFO:CONSOLE(36)] "[CodePush] Installing update", source: file:///android_asset/www/plugins/cordova-plugin-code-push/bin/www/codePushUtil.js (36)
11-14 10:25:33.134  4401  4401 I chromium: [INFO:CONSOLE(40)] "[CodePush]  Cannot perform diff-update.", source: file:///android_asset/www/plugins/cordova-plugin-code-push/bin/www/codePushUtil.js (40)
11-14 10:25:33.134  4401  4401 I chromium: [INFO:CONSOLE(40)] "[CodePush] An error occurred during sync.", source: file:///android_asset/www/plugins/cordova-plugin-code-push/bin/www/codePushUtil.js (40)
11-14 10:25:33.134  4401  4401 I chromium: [INFO:CONSOLE(82045)] "3", source: file:///android_asset/www/build/main.js (82045)

并且来自代码推送调试:

>code-push debug android
Listening for android debug logs (Press CTRL+C to exit)
[10:48:26] Package download success: {"deploymentKey":"KEY-HERE","description":"","label":"v8","appVersion":"0.0.1","isMandatory":true,"packageHash":"9bf0fcb79157619cf1eded10c3de186a7aeb2f4b02e96ef094886f429cdc0ef4","isFirstRun":false,"failedInstall":false,"localPath":"cdvfile://localhost/files/codepush/download/update.zip"}
[10:48:26] Package download success: {"deploymentKey":"KEY-HERE","description":"","label":"v8","appVersion":"0.0.1","isMandatory":true,"packageHash":"9bf0fcb79157619cf1eded10c3de186a7aeb2f4b02e96ef094886f429cdc0ef4","isFirstRun":false,"failedInstall":false,"localPath":"cdvfile://localhost/files/codepush/download/update.zip"}
[10:48:26] Installing update
[10:48:26] Installing update
[10:48:26]  Cannot perform diff-update.
[10:48:26]  Cannot perform diff-update.
[10:48:26] An error occurred during sync.
[10:48:26] An error occurred during sync.

我认为这是由于我通过 Ionic 2 使用 Sync 的方式所致。此同步逻辑似乎有效:

const downloadProgress = (progress) => { console.log(`Downloaded ${progress.receivedBytes} of ${progress.totalBytes}`); }
CodePush.sync({updateDialog: true, installMode:InstallMode.IMMEDIATE, mandatoryInstallMode: InstallMode.IMMEDIATE}, downloadProgress).subscribe((syncStatus) => console.log(syncStatus));