我正在使用PhoneGap 2.7.0并遵循简单的command line build/install instructions here。我正在Windows上为Android构建。我的调试和测试主要在Chrome中使用Ripple完成,但也使用Android模拟器并安装在我的Nexus 7上。
首先,我会说什么有效。对于PhoneGap文档中显示的here类型的简单ondeviceready
javascript代码,一切都在Chrome,模拟器和设备上运行良好。我使用命令行方法在设备上构建和安装代码here:
$ /path/to/my_new_cordova_project/cordova/build.bat
$ /path/to/my_new_cordova_project/cordova/run.bat
大。现在,问题来了。当我在Chrome中编写更多javascript并进行测试时,一切都与以前一样(正常工作),但是当我尝试运行cordova/build.bat
脚本时,它会像往常一样静默运行(没有错误或警告) ,完成得更快,但未能生成.apk
文件。 问题:有没有一种好方法可以找出build.bat脚本失败的原因以及原因?
适用于所有情况的Chrome控制台输出(构建工作时和不工作时)如下所示。我必须在Ripple仿真器中手动触发“deviceready”事件。但这只是模拟器的一个问题,并且在部署到设备时不是问题。
Ripple :: Environment Warming Up (Tea. Earl Gray. Hot.) ripple.js:37
GET http://localhost/thrifty-bunch-v1/assets/www/config.xml 404 (Not Found) ripple.js:50
cordova :: Initialization Finished (Make it so.) ripple.js:37
deviceready has not fired after 5 seconds. cordova-2.7.0.js:6672
Channel not fired: onPluginsReady cordova-2.7.0.js:6665
Channel not fired: onCordovaReady cordova-2.7.0.js:6665
Channel not fired: onCordovaConnectionReady cordova-2.7.0.js:6665
deviceready has not fired after 5 seconds. cordova-2.7.0.js:6672
Channel not fired: onPluginsReady cordova-2.7.0.js:6665
Channel not fired: onCordovaReady cordova-2.7.0.js:6665
Channel not fired: onCordovaConnectionReady
答案 0 :(得分:1)
我认为错误在于phonegap 2.7。我有同样的问题,它与2.6一起使用但是给出了与2.7相同的问题。 我还在这里得到额外的错误代码:
cordova :: Initialization Finished (Make it so.)
Uncaught SyntaxError: Unexpected token < cordova.js:6816
deviceready has not fired after 5 seconds.
答案 1 :(得分:1)
创建包含cordova_plugins.json
的文件{}
。然后转到cordova-2.7.0.js
并对此行require('cordova/channel').onNativeReady.fire();
发表评论,然后在完成开发后,将其添加回来
答案 2 :(得分:1)
有一个known issue (CB-3029)的cordova版本为2.7.0。
解决方法:
Why does Cordova 2.7.0 JS seemingly no longer work on remote pages?