Apache Cordova for android不加载资源

时间:2016-09-20 08:53:59

标签: android cordova angular

我创建了一个Angular 2应用程序,我正在寻找使用Apache Cordova创建Android应用程序。当我在Marshmallow模拟器中加载应用程序时,应用程序不会加载任何声明的资源。如果我使用浏览器插件,它按预期工作。使用Chrome检查设备的控制台会显示以下输出。

Chrome控制台输出

console

如果我运行Cordova初始样本,它可以在同一个Android模拟器中运行,因此它必须是源代码的问题。可以在Github repository中检查代码。该应用程序位于 www 目录中,为了测试,必须添加 android 平台。

$ cordova platform add android
$ cordova run android

我找不到这个问题的答案:

  • 资源看起来很好 - 丢弃文件路径问题。
  • 浏览器插件正常工作(Chrome) - 丢弃应用程序错误和安全策略。
  • cordova样本按预期用于Android - 丢弃环境错误。

拜托,有谁知道这个设置有什么问题?

2 个答案:

答案 0 :(得分:1)

我找到了根本原因。问题是,通过使用angular-cli工具,标签<base href="/">会自动添加。根据{{​​3}},它为解析所有文档的相对URL提供了基础。

对于此用例,删除基本标记或将其配置为有效值(如<base href="/android_asset/www/">)可解决问题。由于我没有使用路由功能(还),我觉得更容易删除它或设置像<base href="."/>这样的值,它适合更多的平台构建。

答案 1 :(得分:0)

您是否尝试修改内容安全政策? 或者如何在config.xml中修改'allow-intent'? 当我遇到资源时,这些都有帮助。