Questions regarding the release of an Ionic app

  • 1 Config.xml, AndroidManifest.xml and the Xcode project if you’re developing for iOS, are as far as I know the only files that have any bearing on the identification of your project on the device and in iTunes and Google Play stores.

You need to edit the config.xml file that’s in your project folder, not in the /www folder.
In previous versions of Ionic / Cordova they did make use of the one in the /www folder which could explain why in your case you have two config.xml files. But in my experience if you upgraded your Cordova to 3.4.1 and you started a project with ionic start projectName, you’ll have only one config.xml and it’s in the project folder. So that’s the one to change.

If you’ve added the Android platform with cordova platform add android before you changed the name and bundle in the config.xml file (which it seems is the case in your situation), it is a good idea to check the AndroidManifest.xml file as well, even though it should upgrade itself every time you run cordova build android.

You need to change the values you described in your post because A: the name will show up in the app, B: the bundle (com.ionicframework.starter) needs to be unique so the app stores that you are publishing on will know the app is indeed unique. When you will later update your app with a new version, the device will know it’s a new version of an existing app because of this bundle id.

The name of the app as it shows up below the icon on the device is set in config.xml in the name tag in config.xml. Like: <name>Your App Name</name>.

The bundle id can be found as the id property in widget.
Like:

<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns     = "http://www.w3.org/ns/widgets"
        xmlns:gap = "http://phonegap.com/ns/1.0"
        id        = "com.yourorganisationname.youruniqueidentifier"
        versionCode="10"
        version   = "1.0">
  • 2 Version number is changed in config.xml. See above.
  • 3 This file has no bearing on publishing your app. You can safely ignore it.
  • 4 Check out the guide Ionic provided: http://ionicframework.com/docs/guide/publishing.html for all required steps. You indeed need cordova build android --release as well as several other commands to make a distributable APK.
  • 5.1 As part of the publishing process (see previous step) you run a command called zipalign. This compresses your project.
  • 5.2 There are reports that minifying increases performance (Compressed Code is Fast!). Minifying itself will do nothing to make your app harder to reverse-engineer. If somebody really wants to open your app, chances are he/she will also be able to reverse the minifying process.
  • 5.3 Ionic doesn’t do this as far as I know. Also I just published an app to the Play Store without it and it published it just fine.
  • 6 Yes. Please take note of the breaking changes.
6 Likes