ionic 2 - 应用程序错误DEVICE_READY_TIMEOUT

时间:2017-01-03 04:30:42

标签: javascript android cordova ionic2

我的Ionic 2在Opensuse Linux上运行。该应用程序运行并构建正常,但我无法更改DEVICE_READY_TIMEOUT,因为它设置为2000毫秒

我尝试更改DEVICE_READY_TIMEOUTmain.js的值,但每次运行离子构建或运行时都会重新生成该文件。有人可以帮忙吗?

目前它会抛出一个应用程序错误,在浏览器中进行调试时说

  

main.js:25553 Native:设备就绪,在2000ms内没有触发。这个   插件处于不一致状态时可能会发生。尝试删除   来自插件的插件/并重新安装它们。 (匿名)@   main.js:25553 main.js:25548设备在19860 ms后准备就绪

我尝试过多次重新安装,它是一样的。我可以通过chrome调试来处理应用程序。但在Android手机上它会显示一个应用程序错误对话框。

只有在为firebase数据库添加angularfire2库之后才会出现此问题。

System Info
Cordova CLI: 6.4.0 
Ionic Framework Version: 2.0.0-rc.3
Ionic CLI Version: 2.1.18
Ionic App Lib Version: 2.1.9
Ionic App Scripts Version: 0.0.48
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Linux 4.1
Node Version: v6.9.0
Xcode version: Not installed

1 个答案:

答案 0 :(得分:0)

OK最后发现,当我因为当前离子2 Rc3框架中的错误而被迫移除插件并重新安装时,问题就开始了。我最终没有重新安装设备插件,因为它没有保存在package.json文件中,也没有保存在config.xml中。

所以解决方案就是简单地添加设备插件

ionic add cordova-device-plugin --save

不要忘记添加--save选项,因为这会将其添加到您的配置文件中,并且在您需要重新安装平台时才有用。插件再次插件。

问题的另一部分 - 如果您的设备在启动期间需要更长的时间来加载,可以通过在config.xml中添加一行来解决TIMEOUT_ERRORS。

  <preference name="loadUrlTimeoutValue" value="400000"/>

超时值以毫秒为单位。因为我的应用程序需要大约30秒加载,我已将超时值设置为40秒。

https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-device/