BlackBerry Forums Support Community

BlackBerry Forums Support Community (http://www.blackberryforums.com/index.php)
-   Linux Users Corner (http://www.blackberryforums.com/forumdisplay.php?f=83)
-   -   jadmaker.sh: create a missing JAD from JAR (http://www.blackberryforums.com/showthread.php?t=65661)

rivviepop 02-19-2007 01:56 PM

jadmaker.sh: create a missing JAD from JAR
 
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;


All times are GMT -5. The time now is 09:31 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.