Apache Cordova для android не загружает ресурсы
Я создал приложение Angular 2 и ищу приложение для Android с Apache Cordova. Когда я загружаю приложение в эмулятор Marshmallow, приложение не загружает ни один из заявленных ресурсов. Если я использую плагин для браузера, он работает как положено. Использование Chrome для проверки консоли устройства показывает следующий вывод.
Выход консоли Chrome:
Если я запускаю исходный пример Cordova, он работает в том же эмуляторе Android, поэтому у него должны быть проблемы с исходниками. Код можно проверить в репозитории Github. Приложение находится в каталоге www, для тестирования необходимо добавить платформу Android.
$ cordova platform add android
$ cordova run android
Я не могу найти ответ на эту проблему:
- Ресурсы выглядят хорошо - откажитесь от проблем с путями к файлам.
- Плагин для браузера работает (Chrome) - отбрасывать ошибки приложений и политики безопасности.
- Образец cordova работает как и ожидалось для Android - откажитесь от ошибок среды.
Пожалуйста, кто-нибудь знает в чем проблема с этой настройкой?
2 ответа
Я нашел основную причину. Проблема в том, что с помощью angular-cli
инструмент, тег <base href="/">
добавляется автоматически. Согласно документации тега, он служит основой для разрешения всех относительных URL-адресов документа.
Для этого варианта использования удаление базового тега или настройка его на допустимое значение, например <base href="/android_asset/www/">
исправляет проблемы. Поскольку я не использую функции маршрутизации (пока), я чувствую себя более комфортно, удаляя его или устанавливая значение как <base href="."/>
что он подходит для других сборок платформ.
Вы пытались изменить Content-Security-Policy? Или как насчет изменения 'allow-intent' в config.xml? Когда у меня были проблемы с ресурсами, они помогали.