Jad & manifest entries/attributes
A complete list of the attributes that are of relevance to the installation of MIDlets is listed below. The values in the JAR and JAD columns indicate whether the attribute is mandatory (M), optional (O) or ignored (I) in the file corresponding to that column.
Warning: MIDlet attributes must be the same in both JAR manifest and the JAD! Otherwise the application will not work after being signed.
For more information on signing and Java verfied see this FAQ. In particular topics "Signing Java ME applications" and "Why doesn't my signed midlet work?"
The following table shows the MIDlet attributes that are mandatory and optional for the JAR Manifest and the application descriptor (JAD), for non signed 3rd party MIDlets:
|MIDlet-Name||M||M||The name of the MIDlet suite. Displayed to the user during the installation.|
|MIDlet-Version||M||M||The version number of the MIDlet suite in format major.minor.micro. Displayed to the user during the installation.|
|MIDlet-Vendor||M||M||The name of the MIDlet suite provider.|
|MIDlet-Description||O||O||A description of the MIDlet suite. Displayed to the user during the installation.|
|MIDlet-Icon||O||O||An icon for the MIDlet suite.|
|MIDlet-Info-URL||O||O||The URL that contains further information describing the MIDlet suite. Displayed to the user during the installation.|
|MIDlet-Data-Size||O||O||The minimum number of bytes of persistent data storage that this MIDlet suite requires. Displayed to the user during the installation. This refers to space used for the long-term storage of data used by the MIDlet suite, not the space required to install and manage the MIDlet suite itself. If this attribute is not supplied, it is assumed that the MIDlet suite does not require persistent storage. If the value is larger than free space on the device, the MIDlet suite cannot be installed.|
|MIDlet-<n>||M||M||Information about the nth MIDlet in the MIDlet suite. Provides the name, icon and main class of the MIDlet, separated by a comma.|
|MicroEdition-Profile||M||O||The version or versions of the MIDP specification that the MIDlets in this suite can work with. The versions specified are compared to those listed in the microedition.profiles property of the target device to determine compatibility.|
|MicroEdition-Configuration||M||O||The Java ME configuration required by the MIDlets in this suite. The value is compared to that listed in the microedition.configuration property of the target device to determine compatibility.|
|MIDlet-Jar-URL||I||M||The URL of the JAR file that contains the MIDlet suite.|
|MIDlet-Jar-Size||I||M||The size of the MIDlet suite JAR file in bytes. Displayed to the user during the installation.|
|MIDlet-Install-Notify||O||O||The URL to which the device connects after the installation. A way to provide installation notifications.|
|MIDlet-Delete-Notify||O||O||The URL to which the device connects after the deletion. A way to provide deletion notifications.|
|MIDlet-Delete-Confirm||O||O||The name of the MIDlet suite. Displayed to the user during the installation.|
The following two attributes are mandatory for trusted MIDlets, and must be defined in the JAD file:
|MIDlet-Jar-RSA-SHA1||Defines the JAR signature.|
|MIDlet-Certificate-<n>-<m>||Defines the public key certificates.|
Retrieving MIDlet Attributes
To retrieve an attribute's value, you call the method MIDlet.getAppProperty(), passing the attribute's name as a string. This method's behaviour depends on whether the MIDlet suite is trusted or untrusted.