Что вызывает Белый Экран Смерти в сборке Meteor Cordova? - PullRequest
0 голосов
/ 30 мая 2018

Я устраняю неполадки в приложении Android с белым экраном смерти, когда я строю для Android в Meteor.Он работает при отображении из браузера при разработке, на развернутом сервере и в мобильном браузере.

Приложение построено в MeteorJS с использованием Angular.Версии Метеор 1.6.1.1 и угловой: angular@1.5.3_1.

Сообщения об ошибках в консоли:

=> Started proxy.                             
=> Started MongoDB.                           

WARNING: You are testing your app on a remote device. For the mobile app to be able to connect to the local server, make sure your device is on the same network, and that the network configuration allows
             clients to talk to each other (no client isolation).

=> Started your app.                          
=> App running at: http://localhost:3000/     
=> Started app on Android Device.             
I20180530-14:46:50.104(1)? 05-30 14:46:44.712 31175 31175 I chromium: [INFO:library_loader_hooks.cc(36)] Chromium logging enabled: level = 0, default verbosity = 0
I20180530-14:46:50.150(1)? 05-30 14:46:45.219 31320 31320 I CordovaLog: Changing log level to DEBUG(3)
I20180530-14:46:50.151(1)? 05-30 14:46:45.457 31320 31320 I chromium: [INFO:library_loader_hooks.cc(36)] Chromium logging enabled: level = 0, default verbosity = 0
I20180530-14:46:50.151(1)? 05-30 14:46:45.579 31320 31387 E chromium: [ERROR:devtools_http_handler.cc(292)] Cannot start http server for devtools. Stop devtools.
I20180530-14:46:50.152(1)? 05-30 14:46:46.560 31320 31320 I MeteorWebApp: Serving asset bundle with version: 7990da69bb2fd9d114781c4ced3482f74c30885b
I20180530-14:46:50.152(1)? 05-30 14:46:46.785 31350 31401 I chromium: [INFO:library_loader_hooks.cc(36)] Chromium logging enabled: level = 0, default verbosity = 0
I20180530-14:46:50.153(1)? 05-30 14:46:47.285 31350 31401 E chromium: [ERROR:BudgetService.cpp(160)] Unable to connect to the Mojo BudgetService.
I20180530-14:46:50.153(1)? 05-30 14:46:47.781 31320 31320 I chromium: [INFO:CONSOLE(44922)] "WARNING: Tried to load AngularJS more than once.", source: http://localhost:12880/packages/modules.js?hash=b66baa905179fb6487e6ccaa81cbb12b2e53c95c (44922)

Пакеты:

meteor-base@1.3.0             # Packages every Meteor app needs to have
mobile-experience@1.0.5       # Packages for a great mobile UX
mongo@1.4.2                   # The database Meteor supports right now
reactive-var@1.0.11            # Reactive variable for tracker
tracker@1.1.3                 # Meteor's client-side reactive programming library

standard-minifier-css@1.4.0   # CSS minifier run for production mode
standard-minifier-js@2.3.1    # JS minifier run for production mode
es5-shim@4.7.0                # ECMAScript 5 compatibility for older browsers
ecmascript@0.10.6              # Enable ECMAScript2015+ syntax in app code
shell-server@0.3.1            # Server-side component of the `meteor shell` command

autopublish@1.0.7             # Publish all data to the clients (for prototyping)
insecure@1.0.7                # Allow all DB writes from clients (for prototyping)
angular:angular@1.3.0
jquery
angular:angular-route
angular:angular-sanitize
angular:angular-animate
d3js:d3
urigo:static-templates
fourseven:scss
twbs:bootstrap
browser-policy

Плагины Cordova:

cordova-plugin-meteor-webapp@1.4.1
cordova-plugin-splashscreen@4.1.0
cordova-plugin-statusbar@2.3.0
cordova-plugin-wkwebview-engine@https://github.com/apache/cordova-plugin-wkwebview-engine.git#815ed0741b9ae30b343d6429bd8ff2ad37ec5790
cordova-plugin-wkwebviewxhrfix@https://github.com/TheMattRay/cordova-plugin-wkwebviewxhrfix.git#593eb98a155bd1f970276222be8c6bfa757568f4

@Swoox предложил мне запустить dev tools в chrome, и он выдал следующие ошибки:

WARNING: Tried to load AngularJS more than once.
app.js:510 imports7999 start
app.js:510 all imports complete
app.js:510 Meteor Startup!
app.js:510 STRIPPED-DOWN 07 - app create command sent
app.js:510 Process Line in Action animations enabled

Ответы [ 3 ]

0 голосов
/ 03 июня 2018

То есть вы имеете в виду, что он работает из мобильного браузера на том же устройстве, на котором вы запускаете приложение?

Моя лучшая рекомендация - использовать Remote Inspect (например, chrome: // inspect; в первую очередь Console и Network)чтобы выяснить, что идет не так.

Забытый / неправильно настроенный тег или CSP?

0 голосов
/ 03 июня 2018

Когда я использовал Meteor ~ 2 года назад, у меня был похожий опыт.Я отладил это, используя событие error .Это не лучший способ отладки ошибок, но он прост в использовании, поэтому, возможно, стоит попробовать, прежде чем углубиться в использование правильного инструмента отладки, который требует времени для настройки и изучения использования.

0 голосов
/ 30 мая 2018

Кажется, вы запускаете Meteor на локальном сервере.Когда вы запускаете свое приложение на локальном сервере, ваш сервер и ваш клиент (ваше приложение на телефоне) должны быть в одной и той же сети Wi-Fi, и конфигурация сети не должна препятствовать тому, чтобы клиент достиг сервера.

Если ваше мобильное приложение необходимо для подключения к другому серверу, вы можете указать адрес, используя опцию --mobile-server.

Для производства вам необходимо установить переменные среды * 1007.* который будет URL (или доменом) вашего приложения, доступным через Интернет, и MONGO_URL, который будет URL вашего развертывания MongoDB.

Соответствующие примеры;

  1. android-устройство, работающее на метеорологическом сервере -> Сервер и клиент должны быть в одной сети WiFi
  2. Android-устройство запуска метеора --mobile-server your_app.herokuapp.com -> --mobile-server Параметр используется для определения URL-адреса сервера, доступного в Интернете
  3. Вы также можете определить связанныйпеременные окружения, такие как ROOT_URL = "https://your_app.herokuapp.com" и MONGO_URL =" mongodb: // user: password@myserver.com: 10139 "

Вы можете обратиться к официальному руководству здесь тоже.

...