【发布时间】:2016-07-27 20:29:27
【问题描述】:
过去两天我一直在尝试解决这个问题。我很好,真的很难过。也许比我更了解这个问题的人可以阐明这个问题:
基本上,我正在 AngularJS 中构建一个应用程序,目的是使用 Cordova 从中构建 Android 和 iOS 应用程序。我应该指定我在 Linux 和 ngCordova(插件的包装器)上使用 cordova-cli。我没有使用离子框架。
我的应用在 Chrome 中运行良好。我完美地遵循了 ngCordova 安装指南:http://ngcordova.com/docs/install/
我用凉亭安装。然后在我的 Web App 项目(不是 Cordova 项目)的 index.html 中包含以下内容:
<script src="lib/ngCordova/dist/ng-cordova.js"></script>
没有用。我想可能是因为 ng-cordova.js 进入了我的凉亭组件目录。所以我把那个脚本标签改成了:
bower_components/ngCordova/dist/ng-cordova.js
当我进入我的 cordova 项目目录并设置平台、插件等...并运行时:
cordova build android
紧随其后
cordova run android
该应用在我的设备 (Nexus 5) 上运行。我使用 chrome://inspect 查看当我单击应该使用电子邮件编写器插件的按钮时会发生什么:我收到一个 cordova 未定义错误。
我进入控制器并将其放入
console.log($cordovaEmailComposer);
我可以在 chrome://insepct 中检查它,它具有所有正确的功能等。所以 ng-cordova.js 运行良好(这就是插件的工厂所在的位置)。
我 99% 确定问题是cordova.js 沿线的某个地方正在丢失。当我进入 ProjectName/www/index.html 中的 cordova 项目时,cordova.js 的标签被注释掉了。
platforms/android/assets/www/index.html 文件中的内容相同。
我追溯它,在 WebAppProject/dist/index.html 文件中也是如此。它被注释掉了。所以似乎当我运行 grunt build cordova.js 时被删除了。我想可能是因为 cordova.js 不在 WebAppProject 中,所以我把它带到了根目录(与 index.html 相同的位置),它仍然发生了。
谁能解释如何正确地让它工作?我完全不知所措。我已经尝试过一百万种不同的方法来包含cordova.js。我什至在 cordovaproject/www/index.html 中手动取消了它的注释。应用程序构建但在打开时崩溃(白屏然后死机)表明缺少脚本(尽管 cordova.js 也在该目录中......)。
这是繁琐的构建过程吗?还是我完全错误地设置了一个 ngCordova 项目而没有意识到......我会发布一些代码,但我 99% 确定问题出在 cordova.js 或项目在 grunt build 或 cordova build 上的构建方式。
任何帮助将不胜感激。 :)
干杯, D
【问题讨论】:
标签: javascript android angularjs cordova