BlackBerry Forums Support Community               

Closed Thread
LinkBack Thread Tools
Old 02-19-2007, 01:56 PM   #1 (permalink)
BlackBerry Extraordinaire
rivviepop's Avatar
Join Date: Dec 2006
Location: san francisco
Model: 8320
PIN: n/a
Carrier: t-mobile
Posts: 2,166
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default create a missing JAD from JAR

Please Login to Remove!

Originally a blog post of mine:
create a missing JAD from JAR (J2ME midlets) « rivviepop phantom

== snip ==
You’ve managed to download a J2ME jar file to install on your phone (typically a game), but your particular handset requires a JAD file (a text file describing the jarball itself) to be used as well for installation purposes. But, you don’t have this JAD file and need to make one.

Typically a J2ME midlet jarball has 80% of the needed JAD content already inside, it just needs extracted and given a bit more data to make the actual JAD file a usable entity. Use the below script to do this work for you; no other tools (like the JDK) are needed, just your basic BASH shell utlities.

Save this as “”:

# Given a J2ME midlet jarball, create a JAD for it
# Usage: ./ <filename>

# safety check 1
if [ ! -f "${FILE}" ]; then
  echo "Input file '${FILE}' missing, exiting."
  exit 1

# safety check 2
if [ -f "${JAD}" ]; then
  echo "${JAD} already exists, overwrite? (y/N)"
  read tmpans
  answer=$(echo "$tmpans" | tr '[:upper:]' '[:lower:]')
  if [ "$answer" != "y" ] && [ "$answer" != "yes" ]; then
    echo "Not overwriting ${JAD}, exiting."
    exit 1
    rm -f "${JAD}"

# unzip the internal manifest, changing line endings to our local OS
# the sed action removes blank lines, with or without spaces/tabs
unzip -aa -j -p ${FILE} "META-INF/MANIFEST.MF" | sed -e '/^[ \t]*$/d' > "${JAD}"

# generic variables
echo "MIDlet-Jar-URL: ${FILE}" >> "${JAD}"
echo "MIDlet-Info-URL: http://" >> "${JAD}"

# actual jarball size
FILESIZE=$(stat -c%s "${FILE}")
echo "MIDlet-Jar-Size: ${FILESIZE}" >> "${JAD}"

# weee
echo "Created ${JAD}."
exit 0
You can quickly generate JAD files for an entire directory of jarballs using a simple command like:

for ii in *.jar; do ./ $ii; done;
[ Linux & BlackBerry ]

Copyright © 2004-2016
The names RIM © and BlackBerry © are registered Trademarks of BlackBerry Inc.