Ipack
Home
Downloads
Creating An Ipack
App Developers

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:

  • LABEL: how the package will be displayed in selection menus etc
  • ALL_SAME_SIZE: whether all the icons in the package are the same size: used for sorting etc
  • ATTRIBUTION: the creator etc of the icons

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

  • make directory e.g. src/net/dinglisch/android/ipack/supericons
  • copy all .java files to the directory

Build The Package

ant release