cordova离子 – 应用程序意外停止

Ardoid应用程序意外停止。

控制器文件的链接是: https : //www.dropbox.com/s/d0lc34q3mzlgfkj/controllers.js?dl = 0

我更新我的OSX到El capitan之后出现问题。 在更新应用程序之前,将在模拟器中完美启动。 现在,即使我构buildAPK并尝试将其安装在手机上,也不会安装。

以下是我的日志文件的图像:

在这里输入图像说明

我究竟做错了什么?

Solutions Collecting From Web of "cordova离子 – 应用程序意外停止"

好吧,所以我发现了很多可能导致你这个问题的事情。

首先请考虑使用$stateProvider来声明你的状态,并设置每个状态的控制器,以便它们不会在同一时间和运行应用程序时加载全部(不确定是否将所有的代码都设置为一个文件来显示我们你有什么)。 但是你知道在你的angular度configuration集:

使用$stateProvider

 $stateProvider .state('app.page1', { url: '/page1', templateUrl: 'templates/page1.html', controller: 'Page1Ctrl' } }); 

其次,在你的代码中有很多错误/语法错误。 我不确定你使用的是什么IDE(编辑器),但是如果可能的话,请考虑添加一个jshint插件(你也可以通过在线的jshint @ http://jshint.com/运行 )或者类似于你的IDE。 它会指出你的代码中的错误。 你的代码中的一些错误是:

  • 在范围variables和函数中缺less大量的分号(这会导致JavaScript不知道下一步去哪里等)
  • 使用不好的JavaScript运算符,如resp.data.errors.email != undefined应该是resp.data.errors.email !== undefined

这也很糟糕:

 moment($scope.iosDate.value.toISOString()).hour(7).minute(0).toISOString(), moment($scope.iosDate.value.toISOString()).hour(8).minute(0).toISOString(), moment($scope.iosDate.value.toISOString()).hour(9).minute(0).toISOString(), moment($scope.iosDate.value.toISOString()).hour(10).minute(0).toISOString(), moment($scope.iosDate.value.toISOString()).hour(11).minute(0).toISOString(), moment($scope.iosDate.value.toISOString()).hour(12).minute(0).toISOString(), moment($scope.iosDate.value.toISOString()).hour(13).minute(0).toISOString(), moment($scope.iosDate.value.toISOString()).hour(14).minute(0).toISOString(), moment($scope.iosDate.value.toISOString()).hour(15).minute(0).toISOString(), moment($scope.iosDate.value.toISOString()).hour(16).minute(0).toISOString(), moment($scope.iosDate.value.toISOString()).hour(17).minute(0).toISOString(), moment($scope.iosDate.value.toISOString()).hour(18).minute(0).toISOString(), moment($scope.iosDate.value.toISOString()).hour(19).minute(0).toISOString(), moment($scope.iosDate.value.toISOString()).hour(20).minute(0).toISOString(), moment($scope.iosDate.value.toISOString()).hour(21).minute(0).toISOString(), moment($scope.iosDate.value.toISOString()).hour(22).minute(0).toISOString() 

我会想象你可以用其他方式做到这一点。

另外检查你的资源文件的大小。 例如,如果您正在使用背景图片,图标或类似的东西,请检查它们是不是太大。

这些是在查看代码时想到的第一个想法。 请先尝试这些(至less纠正代码中的错误),并告诉我是否对您的问题有帮助。