Skip to content

Automatic icon resizing for Cordova

Notifications You must be signed in to change notification settings

semabit/cordova-icon

 
 

Repository files navigation

cordova-icon

Automatic icon resizing for Cordova. Create an icon in the root folder of your Cordova project and use cordova-icon to automatically resize and copy it for all the platforms your project supports (currenty works with iOS, Android, Windows 10 and OSX).

Installation

$ sudo apt-get install imagemagick
$ # on Mac: brew install imagemagick
$ # on Windows: https://www.imagemagick.org/script/binary-releases.php#windows (check "Legacy tools")

$ sudo npm install cordova-icon -g

If you are using an older version of cordova (before 7.x):

$ sudo npm install [email protected] -g

Requirements

Usage

Create an icon.png file in the root folder of your cordova project. You can provide a platform-specific icon by naming it icon-[platform].png (e.g icon-android.png, icon-ios.png). Then run:

 $ cordova-icon

You also can specify manually a location for your config.xml or icon.png:

 $ cordova-icon --config=config.xml --icon=icon.png --icon-background=icon_background.png  --icon-foreground=icon_foreground.png

The parameters --icon-background and --icon-foreground are required if --android-v6 or --android-v7 is not passed.

If you run a old version of Cordova for iOS / Mac and you need your files in /Resources/icons/, use this option:

 $ cordova-icon --xcode-old

For good results, your file should be:

  • square
  • for Android and iOS, at least 1024*1024px
  • for Windows, at least 1240*1240px

Android

To generate icons for cordova-android v6, use the following:

 $ cordova-icon --android-v6

To generate icons for cordova-android v7, use the following:

 $ cordova-icon --android-v7

To generate notification icons for cordova-android use the following:

 $ cordova-icon --icon-notification=notification.png --icon-notification-name=ic_notification

By default, the file name is ic_notification. You can change the name through providing a different name with the parameter --icon-notification-name.

Notes:

  • Your config.ml file will not be updated by the tool (because images are automatically created in the good folders)
  • Therefore, in your config.xml, be sure to remove all lines looking like <icon src="res/android/ldpi.png" density="ldpi" />

Creating a cordova-cli hook

Since the execution of cordova-icon is pretty fast, you can add it as a cordova-cli hook to execute before every build. To create a new hook, go to your cordova project and run:

$ mkdir hooks/after_prepare
$ vi hooks/after_prepare/cordova-icon.sh

Paste the following into the hook script:

#!/bin/bash
cordova-icon

Then give the script +x permission:

$ chmod +x hooks/after_prepare/cordova-icon.sh

That's it. Now every time you cordova build, the icons will be auto generated.

Splash screens

Check out cordova-splash

More

  • cordova-plugin-inapppurchase - a lightweight cordova plugin for in app purchases on iOS/Android
  • ng-special-offer - prompt users to rate your cordova app in the app store
  • ionic-lock-screen - passcode lock screen for ionic (with touch id support for iOS)
  • ionic-zoom-view - an easy way to add a zoom view to images using an ionic modal
  • ng-persist - store data on mobile devices (using cordova) that persists even if the user reinstalls the app

License

MIT

About

Automatic icon resizing for Cordova

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 97.5%
  • Shell 2.5%