我在Android设备中使用以下命令运行我的应用时出错:
meteor run android-device --settings settings.json --mobile-server=myip:port
我已经在我的VPS中使用MUP(Meteor up)部署了我的应用程序。我的应用程序 设备似乎工作正常,能够与我的VPS沟通,但我 有这个错误:
E / MeteorWebApp(30703):下载失败
E / MeteorWebApp(30703):com.meteor.webapp.WebAppException:跳过 因为Cordova平台版本或插件而下载新版本 版本已更改且可能不兼容I20160524
E / MeteorWebApp(30703):at com.meteor.webapp.WebAppLocalServer.shouldDownloadBundleForManifest(WebAppLocalServer.java:367) E / MeteorWebApp(30703):at com.meteor.webapp.AssetBundleManager $ 1.onResponse(AssetBundleManager.java:131)...
当我使用--verbose运行时,我有:
D / MeteorWebApp(4032):检测到新的捆绑版本,删除 版本目录(如果存在)
我的流星项目使用:
Meteor 1.3.3-beta.0
cordova-android@5.1.1
cordova:cordova-plugin-device v1.1.2
答案 0 :(得分:2)
您是否尝试重新启用Android平台:
meteor remove-platform android
meteor add-platform android
它解决了我的问题:
I20160729-21:30:01.571(2)? 07-29 21:30:01.342 10346 11702 E MeteorWebApp: Download failure
I20160729-21:30:01.572(2)? 07-29 21:30:01.342 10346 11702 E MeteorWebApp: com.meteor.webapp.WebAppException: Skipping downloading new version because the Cordova platform version or plugin versions have changed and are potentially incompatible
I20160729-21:30:01.572(2)? 07-29 21:30:01.342 10346 11702 E MeteorWebApp: at com.meteor.webapp.WebAppLocalServer.shouldDownloadBundleForManifest(WebAppLocalServer.java:367)
答案 1 :(得分:2)
对于记录,此错误为intentional behaviour of Meteor。
当Cordova版本(或其中一个Cordova插件版本)发生变化,或者如果已将新的Cordova插件添加到Meteor项目中时,我们的想法是阻止热代码推送。理由是防止新代码到达无法使用它的设备,因为它缺少相关的Cordova插件/版本(请记住那些cannot be updated through Hot Code Push,但需要通过App Store / Play Store进行传统更新)。
应该有一个选项可以强制Meteor继续使用Hot Code Push,不管怎样,但遗憾的是我找不到文档。我认为在这种情况发生时(新的Cordova插件),在构建期间控制台中会出现一条帮助消息。