2017-08-31 24 views
0

thisthisと考えられるすべての記事があります。 Meteor Guideにチェックしても、すぐにこの問題のために狂ってしまいます!Meteor herokuアセットマニフェストの解析中にエラーが発生しました

問題: 問題がホットコードは一度下記ROOT_URLにプッシュデバイス上で動作するように(HCP)を押しつつあります。

環境:

Mac macOS Sierra 
Meteor : 1.5.1 
Router : iron:[email protected] 
Hosting : Heroku 
Deploy Source: GitHub 
Cordova : 7.0.1 
Android tools target: 23 
Buildpack: https://github.com/AdmitHub/meteor-buildpack-horse.git 

Buildpack Options: 
    BUILDPACK_PRELAUNCH_METEOR = 0 
    ROOT_URL: https://grocer-eg.herokuapp.com/ 

runコマンド:

meteor run android-device -s settings.json --mobile-server https://grocer-eg.herokuapp.com 

meteor build --mobile-settings settings.json --server https://grocer-eg.herokuapp.com --debug --directory ../my-output-directory/

ログイン:

App running at: http://localhost:3000/  
=> Started app on Android Device.    
I20170830-19:43:30.364(3)? int logctl_get(): open '/dev/hwlog_switch' fail -1, 13. Permission denied 
I20170830-19:43:30.518(3)? 
I20170830-19:43:30.521(3)? Note: log switch off, only log_main and log_events will have logs! 
I20170830-19:43:30.522(3)? 08-30 19:43:09.277 14167 14167 I CordovaLog: Changing log level to DEBUG(3) 
I20170830-19:43:30.522(3)? 08-30 19:43:09.379 14167 14167 I chromium: [INFO:library_loader_hooks.cc(144)] Chromium logging enabled: level = 0, default verbosity = 0 
I20170830-19:43:30.523(3)? 08-30 19:43:10.121 14167 14167 I MeteorWebApp: Serving asset bundle with version: d723bae98470d4b496c7c54898abf69b06ce144b 
I20170830-19:43:30.524(3)? 08-30 19:43:10.498 14167 14263 E chromium: [ERROR:BudgetService.cpp(165)] Unable to connect to the Mojo BudgetService. 
I20170830-19:43:30.524(3)? 08-30 19:43:11.490 14320 14380 I chromium: [INFO:library_loader_hooks.cc(144)] Chromium logging enabled: level = 0, default verbosity = 0 
I20170830-19:43:30.524(3)? 08-30 19:43:12.253 14167 14167 I chromium: [INFO:CONSOLE(9676)] "Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.", source: http://localhost:12128/packages/jquery.js?hash=e5fc9cebb2e37c48ddfaf76e0ab0b77cb6ce6e52 (9676) 
I20170830-19:43:30.525(3)? 08-30 19:43:15.121 14167 14505 W MeteorWebApp: Download failure 
I20170830-19:43:30.525(3)? 08-30 19:43:15.121 14167 14505 W MeteorWebApp: com.meteor.webapp.WebAppException: Error parsing asset manifest 
I20170830-19:43:30.525(3)? 08-30 19:43:15.121 14167 14505 W MeteorWebApp: at com.meteor.webapp.AssetManifest.<init>(AssetManifest.java:80) 
I20170830-19:43:30.525(3)? 08-30 19:43:15.121 14167 14505 W MeteorWebApp: at com.meteor.webapp.AssetBundleManager$1.onResponse(AssetBundleManager.java:112) 
I20170830-19:43:30.526(3)? 08-30 19:43:15.121 14167 14505 W MeteorWebApp: at okhttp3.RealCall$AsyncCall.execute(RealCall.java:133) 
I20170830-19:43:30.526(3)? 08-30 19:43:15.121 14167 14505 W MeteorWebApp: at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32) 
I20170830-19:43:30.526(3)? 08-30 19:43:15.121 14167 14505 W MeteorWebApp: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
I20170830-19:43:30.526(3)? 08-30 19:43:15.121 14167 14505 W MeteorWebApp: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
I20170830-19:43:30.527(3)? 08-30 19:43:15.121 14167 14505 W MeteorWebApp: at java.lang.Thread.run(Thread.java:776) 
I20170830-19:43:30.527(3)? 08-30 19:43:15.121 14167 14505 W MeteorWebApp: Caused by: org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject 
I20170830-19:43:30.527(3)? 08-30 19:43:15.121 14167 14505 W MeteorWebApp: at org.json.JSON.typeMismatch(JSON.java:111) 
I20170830-19:43:30.528(3)? 08-30 19:43:15.121 14167 14505 W MeteorWebApp: at org.json.JSONObject.<init>(JSONObject.java:160) 
I20170830-19:43:30.528(3)? 08-30 19:43:15.121 14167 14505 W MeteorWebApp: at org.json.JSONObject.<init>(JSONObject.java:173) 
I20170830-19:43:30.528(3)? 08-30 19:43:15.121 14167 14505 W MeteorWebApp: at com.meteor.webapp.AssetManifest.<init>(AssetManifest.java:39) 
I20170830-19:43:30.528(3)? 08-30 19:43:15.121 14167 14505 W MeteorWebApp: ... 6 more 

UPDATED注:

http://localhost:3000/__cordova/manifest.json が正常に巨大なJSONファイルを返しますが、https://grocer-eg.herokuapp.com/__cordova/manifest.json は見つかりませんでしたテンプレートとしてルーティングされます!

私は、上記の記事の90%を理解していないうちに検索しており、それぞれの推奨事項に従っています。

+0

あなたのprodサーバーに対してAPKを実行している、またはあなたが開発モードにあるとき、このはありますか? – Mikkel

+0

ローカルマシンで 'meteor run'コマンドを実行していますが、プロダクションサーバを指しています – Roshdy

+0

それは良いとは言えません。アプリケーションからのリクエストはすべてプロードサーバーに送られますが、アプリケーションが提供されている場所ではないため、2つの真実のソースがあり、HCPはプロードサーバーから発生します。 want – Mikkel

答えて

0

私が使用していたbuildpackを使用する以外は明らかに何も間違っていませんでした。

ビルドパックでの問題は、それが流星hereを実行する前に、Androidプラットフォームを削除したことがあるとhere

だから私だけforkedそれとこれらの行をコメントアウトし、期待どおりに働きました。

今私は、HCPの作業を持っている:D

0

メテオのビルドは、ローカルで実行していたときの最後の設定を記憶しています。これは技術的にはバグですが、回避策があるため決して解決されませんでした。

#!/bin/bash 
# 
# Script to generate android apk (pre-cursor) 

# Remove previous build (ensures a clean build) 
# 
rm -rf .meteor/local/cordova-build 

# Remove the app from the device (makes installation more reliable) 
# 
adb uninstall <%=COM_NAME%> 

# Run meteor, which will build a debug apk and install it on the device 
# 
meteor --mobile-server <%=ROOT_URL%> run android-device 

は、これは私がそれぞれ異なる環境のためのスクリプトを生成するために使用するテンプレートです:

APKを構築するためには、あなたがあなたのビルド領域が新鮮であることを確認する必要があり、このスクリプトはことを行います。

これを実行すると、ビルドエリアにターゲット環境のURLが埋め込まれ、デバイス上のAPKがその環境に対応できるようになります。今度は同じURLでビルドしてください:

meteor build --server <%=ROOT_URL%> 

少し畳み込まれています。私は、各開発マシン、ステージング、テスト、およびプロダクションごとに、いろいろな環境を簡単に管理できるようにたくさんのスクリプトを書きました。

すべて手動で行うことはできますが、エラーが発生しやすいです。 1つの間違いがあります。再起動する必要があり、ビルドとインストールのサイクルには少し時間がかかります。私はあなたが好きならスクリプトをあなたと共有することができます。

+0

私はcordova-buildフォルダを削除しようとしましたが、私の携帯電話からアプリをアンインストールして、 'meteor run android-device --mobile-server ...'を実行しましたが、私はまだ同じ問題を抱えています。私は問題がHeroku側からだと信じています!私は 'https://grocer-eg.herokuapp.com/__ cordova/manifest.json'のルートを取得できないためです – Roshdy

関連する問題