我在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.
我相信这是由于我如何通过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));