0

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

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

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.
4

1 回答 1

0

我相信这是由于我通过 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));
于 2016-11-14T17:33:34.170 回答