如何修复MeteorWebApp错误:"由于Cordova平台版本或插件版本已更改,因此跳过下载新版本..."?

时间:2016-05-24 18:53:11

标签: java android cordova meteor

我在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

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插件),在构建期间控制台中会出现一条帮助消息。