April 2016 articles

zipalign command not found for Android APK publishing

Posted: Monday 18th April, 2016 - 7:39pm
Author: James Griffiths

Developing Ionic Apps for Android solely from the command line? Receiving the following error when trying to run the zipalign utility?

-bash: zipalign: command not found

Assuming you're using a unix based OS here's how to fix this...


Resolving Xcode CFBundleIcons no image found error

Posted: Thursday 14th April, 2016 - 7:33pm
Author: James Griffiths

Xcode is pretty great for a free piece of software BUT that doesn't mean it's without its quirks.

One of those that we encountered recently was the following message when attempting to submit an archived package to the Apple App Store:

ERROR ITMS-90032:“Invalid Image Path - No image found at the path referenced under key 'CFBundleIcons': icon.png”

Not the kind of warning you expect to see after optimising your App and providing all the necessary launch icons and splash screens - even more so AFTER the App had passed validation - so what was causing this?


Solving Ionic Android App error with no Java files found which extend CordovaActivity

Posted: Tuesday 12th April, 2016 - 7:28pm
Author: James Griffiths

If you're developing an Android App using the Apache Cordova and Ionic Framework tools and encounter the following error:

Error: No Java files found which extend CordovaActivity

When trying to deploy your App to a connected device with the following command:

ionic run android

Then the solution might seem a little bit radical but, is in fact, quite quick and easy to implement...


Performing batch transactions in WebSQL on iOS & Android

Posted: Thursday 7th April, 2016 - 7:24pm
Author: James Griffiths

Despite being a deprecated standard and with certain developer resistance to using WebSQL we still find it to be a fantastic database solution for storing data cross-platform on both iOS & Android.

With a recent App we were developing we needed to be able to run batch transactions on inserting arrays of data into the SQLite database tables. Our solution for iOS worked perfectly but we didn't realise this would NOT work on Android (but fortunately found a workaround to accomplishing the same goal).

Let's have a look at the iOS solution and find out why.


Resolving Ionic App invalid character entity warning on Android

Posted: Thursday 7th April, 2016 - 7:20pm
Author: James Griffiths

Here's an interesting error we came across when publishing a recent App to an Android device:

Error happened [Error: Invalid character entity
Line: 4
Column: 56
Char:  ]
Error: Invalid character entity
Line: 4
Column: 56
    at error (/usr/local/lib/node_modules/ionic/node_modules/xml2js/node_modules/sax/lib/sax.js:642:8)
    at strictFail (/usr/local/lib/node_modules/ionic/node_modules/xml2js/node_modules/sax/lib/sax.js:662:22)
    at Object.write (/usr/local/lib/node_modules/ionic/node_modules/xml2js/node_modules/sax/lib/sax.js:1336:11)
    at Parser.exports.Parser.Parser.parseString (/usr/local/lib/node_modules/ionic/node_modules/xml2js/lib/xml2js.js:403:31)
    at Parser.parseString (/usr/local/lib/node_modules/ionic/node_modules/xml2js/lib/xml2js.js:6:61)
    at Object.exports.parseString (/usr/local/lib/node_modules/ionic/node_modules/xml2js/lib/xml2js.js:433:19)
    at /usr/local/lib/node_modules/ionic/node_modules/ionic-app-lib/lib/config-xml.js:23:12
    at /usr/local/lib/node_modules/ionic/node_modules/ionic-cordova-lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:76:16
    at fs.js:336:14
    at /usr/local/lib/node_modules/ionic/node_modules/ionic-cordova-lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:42:10


If you are currently encountering this error you will not believe how (thankfully) simple the solution to fixing this is...