Creating An Ipack

Warning: this is not a process for non-technical people.

You will need:

There are then two ways to make an APK.

1. Linux, Automatic

Run the bash script ipacker.sh which comes with the build files. Here's the usage:
./ipacker.sh SDKDIR PACKAGENAME LABEL ALLSAMESIZE BACKCOLOUR ATTRIBUTION ICONDIR KEYSTOREPATH [KEYSTOREKEY]

SDKDIR: absolute path to where your SDK is installed
VERSION: APK Manifest version e.g. 1
PACKAGENAME: e.g. com.somedomain.android.ipack.supericons
LABEL: what the icons will be called e.g. "My Supericons"
ALLSAMESIZE: whether all the icons are the same pixel size. true or false
BACKCOLOUR: background colour to use when an icon is being selected, format AARRGGBB (alpha, red, green, blue)
ATTRIBUTION: who or what to credit for creation of the icons
ICONDIR: where the icons are to be found that should be packaged
KEYSTOREPATH: path to the keystore for signing the APK
KEYSTOREKEY: key to use for the signing (defaults to release.key)

The script will create a directory in /tmp, copy the build files and icons there and make an APK, finally putting it in the current directory.

2. Any, Manual

Replace Variables

You need to replace some variables in the various build files:
VariableFile(s)Example
%PACKAGE_NAME%AndroidManifest.xml, all .javanet.dinglisch.android.ipack.supericons
%LABEL%AndroidManifest.xml, build.xml, IpackKeys.javaMy Supericons
%BACK_COLOUR%IpackIconSelect.java33777777
%SDK_DIR%local.properties/home/me/dev/android
%KEY_STORE%local.properties/home/me/dev/android.keystore
%KEY_NAME%local.propertiesrelease.key

Copy Icons

They need to go in res/drawable.

Specify Content

In IpackContent.java, fill in the three variables at the top:

In the fillBundle function, you need to put a set of lines like this, one for each icon:

b.putInt( "NAMEOFICON", R.drawable.ICON_FILENAME_WITHOUT_EXTENSION );

Source Files

Build The Package

ant release