Www.cordova.plugins.Keyboard is undefined

My app works in browser (ionic serve) but when run in emulate mode, I get this error stating “cannot read property “Keyboard” of undefined” in:

   function ionic_onready(logger) { 
        alert("ionic ready!");
        if(window.cordova && window.cordova.plugins.Keyboard) {

One difference between emulate and run is that when run on android device 2.3 the alert message is also not appearing and the “undefined” message also does not appear. It just hangs.

I have downloaded one of the starter apps and that executes fine. What am I missing here? One difference I see in build is the following appears on the bad app

[aapt] Found Deleted Target File
[aapt] Creating full resource package…
[aapt] (skipping dir ‘.ionic’ due to ANDROID_AAPT_IGNORE pattern ‘.*’)

Using v1.0.0-rc.1.


Minor progress after a ton of commenting/uncommenting of code.

I had a line in the main module’s angular-ui router’s config function


which I had to comment out. No big deal, relocated that code.

Next, I have an angular factory which uses $q somewhere. The mere inclusion of this in a function, even if the function is not used causes same issue.

function f($q, … ) { …$q.all(…)… }

angular.module(‘common.services.resolver’, [])
//.factory(‘f’, f)
//using later in the main app as
angular.module(‘myapp’, [‘ionic’, … ‘common.services.resolver’, …])…

this brings back the issue. I have to comment out the definition of f() to make it work.

Very confounding. Will appreciate help in working this out. Works fine when using ionic serve.


Figured out… my ancient web view does not support $q.catch()