BlackBerryForums.com : Your Number One BlackBerry Community
     

»Sponsored Links


BlackBerryApps.com Best Sellers



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

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 “jadmaker.sh”:

Code:
#!/bin/bash
#
# Given a J2ME midlet jarball, create a JAD for it
# Usage: ./jadmaker.sh <filename>

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

# safety check 2
JAD="${FILE%.*}.jad"
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
  else
    rm -f "${JAD}"
  fi
fi

# 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:

Code:
for ii in *.jar; do ./jadmaker.sh $ii; done;
   
Sponsored Links
Please Login or Register to Remove these Advertisements!

Closed Thread


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On





Copyright © 2004-2009 BlackBerryFAQ.com, BlackBerryForums.com.
The names RIM © and BlackBerry © are registered Trademarks of Research In Motion Limited.