Meteor error: "com.meteor.webapp.WebAppException: Error parsing asset manifest"
Meteor error: "com.meteor.webapp.WebAppException: Error parsing asset manifest"
当我 运行 我的应用程序在我的 android 设备中出现错误时:
meteor run android-device --settings settings.json --mobile-server=myip:port
我已经使用 MUP(流星向上)在 VPS 中部署了我的应用程序。我设备中的应用程序似乎运行良好,能够与我的 VPS 通信,但我遇到此错误:
I20160516-20:17:03.059(2)? W/MeteorWebApp( 3915): Download failure
I20160516-20:17:03.059(2)? W/MeteorWebApp( 3915):
com.meteor.webapp.WebAppException: Error parsing asset manifest
I20160516-20:17:03.060(2)? W/MeteorWebApp( 3915): at
com.meteor.webapp.AssetManifest.(AssetManifest.java:80)
I20160516-20:17:03.060(2)? W/MeteorWebApp( 3915): at
com.meteor.webapp.AssetBundleManager.onResponse(AssetBundleManager.java:112)
I20160516-20:17:03.060(2)? W/MeteorWebApp( 3915): at
okhttp3.RealCall$AsyncCall.execute(RealCall.java:133)
I20160516-20:17:03.061(2)? W/MeteorWebApp( 3915): at
okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
I20160516-20:17:03.061(2)? W/MeteorWebApp( 3915): at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
I20160516-20:17:03.061(2)? W/MeteorWebApp( 3915): at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
I20160516-20:17:03.062(2)? W/MeteorWebApp( 3915): at
java.lang.Thread.run(Thread.java:818) I20160516-20:17:03.062(2)?
W/MeteorWebApp( 3915): Caused by: org.json.JSONException: Value
(JSONObject.java:160)
I20160516-20:17:03.063(2)? W/MeteorWebApp( 3915): at
org.json.JSONObject.(JSONObject.java:173)
I20160516-20:17:03.063(2)? W/MeteorWebApp( 3915): at
com.meteor.webapp.AssetManifest.(AssetManifest.java:39)
我不明白为什么会出现此错误。当我 运行 应用程序在本地没有 --mobile-server=myip:port 时,不会显示此错误。
这是由于 cordova 清单不存在导致的热代码推送失败。要确认,请访问 http://myip:port/__cordova/manifest.json
,它应该 return 一个类似于 http://myip:port/manifest.json
(非 cordova)的 json 文档。如果您从 cordova url 获取 application/html 页面,这意味着您的构建不包含移动平台(您是否在构建之前删除了它们?)
更新:您还需要确保在 mup.js 配置中包含 mobileSettings
并且可能包含 serverOnly
。有关这些选项的参考,请参阅 mup 中的 lib/modules/meteor/build.js
。
当我 运行 我的应用程序在我的 android 设备中出现错误时:
meteor run android-device --settings settings.json --mobile-server=myip:port
我已经使用 MUP(流星向上)在 VPS 中部署了我的应用程序。我设备中的应用程序似乎运行良好,能够与我的 VPS 通信,但我遇到此错误:
I20160516-20:17:03.059(2)? W/MeteorWebApp( 3915): Download failure I20160516-20:17:03.059(2)? W/MeteorWebApp( 3915): com.meteor.webapp.WebAppException: Error parsing asset manifest I20160516-20:17:03.060(2)? W/MeteorWebApp( 3915): at com.meteor.webapp.AssetManifest.(AssetManifest.java:80) I20160516-20:17:03.060(2)? W/MeteorWebApp( 3915): at com.meteor.webapp.AssetBundleManager.onResponse(AssetBundleManager.java:112) I20160516-20:17:03.060(2)? W/MeteorWebApp( 3915): at okhttp3.RealCall$AsyncCall.execute(RealCall.java:133) I20160516-20:17:03.061(2)? W/MeteorWebApp( 3915): at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32) I20160516-20:17:03.061(2)? W/MeteorWebApp( 3915): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) I20160516-20:17:03.061(2)? W/MeteorWebApp( 3915): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) I20160516-20:17:03.062(2)? W/MeteorWebApp( 3915): at java.lang.Thread.run(Thread.java:818) I20160516-20:17:03.062(2)? W/MeteorWebApp( 3915): Caused by: org.json.JSONException: Value (JSONObject.java:160) I20160516-20:17:03.063(2)? W/MeteorWebApp( 3915): at org.json.JSONObject.(JSONObject.java:173) I20160516-20:17:03.063(2)? W/MeteorWebApp( 3915): at com.meteor.webapp.AssetManifest.(AssetManifest.java:39)
我不明白为什么会出现此错误。当我 运行 应用程序在本地没有 --mobile-server=myip:port 时,不会显示此错误。
这是由于 cordova 清单不存在导致的热代码推送失败。要确认,请访问 http://myip:port/__cordova/manifest.json
,它应该 return 一个类似于 http://myip:port/manifest.json
(非 cordova)的 json 文档。如果您从 cordova url 获取 application/html 页面,这意味着您的构建不包含移动平台(您是否在构建之前删除了它们?)
更新:您还需要确保在 mup.js 配置中包含 mobileSettings
并且可能包含 serverOnly
。有关这些选项的参考,请参阅 mup 中的 lib/modules/meteor/build.js
。