|
2012-02-14
, 16:45
|
Posts: 306 |
Thanked: 603 times |
Joined on Jan 2012
@ Belgium
|
#212
|
|
2012-02-14
, 16:56
|
|
Posts: 518 |
Thanked: 334 times |
Joined on Mar 2010
@ italy
|
#213
|
The modified script that also creates the icons does not seem to work.
The application is running in the background and all the paths are OK
but as soon as I tap on the icon, the whole interface becomes
unresponsive. I actually have to shut down the whole emulator and start
it up again.
Strangely enough, if start the X terminal application in the N900 menu,
and run the script from there, I have no problem, and neither when I
start a terminal from my Linux desktop via the "mad remote shell"
command.
Davy
#!/bin/sh run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Welcome to MakeJadSHortcutter!" sleep 2 JAR=$1 if [ ! -f "${JAR}" ]; then run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"JAR file does not exist!" && sleep 3 echo "Usage: makejadsh JAR file"; exit 1 fi JAD="${JAR%.*}.jad" if [ -f "${JAD}" ]; then echo -n "${JAD} already exists, overwrite the file? (Y/N) " read tmpans answer=$(echo "$tmpans" | tr '[:upper:]' '[:lower:]') if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then echo "Not overwriting ${JAD} file!" else rm -f "${JAD}" fi fi if [ ! -f "${JAD}" ]; then unzip -aa -j -p ${JAR} "META-INF/MANIFEST.MF" | sed -e '/^[ \t]*$/d' > "${JAD}" echo "MIDlet-Jar-URL: ${JAR}" >> "${JAD}" echo "MIDlet-Info-URL: http://" >> "${JAD}" FILESIZE=$(stat "${JAR}") echo "MIDlet-Jar-Size: ${FILESIZE}" >> "${JAD}" echo "${JAD} file created!" MIDLET_ICON=`grep "MIDlet-Icon: " $JAD | sed "s/\MIDlet-Icon://g" | sed 's/\///g' | sed 's/^[ \t]*//'` MIDLET_NAME=`grep "MIDlet-Name: " $JAD | sed /MIDlet-Name:/s///` UNZIP_ICON=`unzip "$JAR" "$MIDLET_ICON" -d /usr/share/icons/hicolor/scalable/hildon/` RENAME_ICON=`mv "/usr/share/icons/hicolor/scalable/hildon/$MIDLET_ICON" "/usr/share/icons/hicolor/scalable/hildon/$MIDLET_NAME.png"` fi SH="${JAR%.*}.sh" if [ -f "${SH}" ]; then echo -n "${SH} Already exists, overwrite the file? (Y/N) " read tmpans answer=$(echo "$tmpans" | tr '[:upper:]' '[:lower:]') if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then echo "Not overwriting ${SH} file!" else rm -f "${SH}" fi fi if [ ! -f "${SH}" ]; then MAINCLASS=`cat $JAD | grep 'MIDlet-1:' | cut -d ',' -f 3` READLINKJAR=`readlink -f $JAR` echo '#!/bin/sh' > $SH echo '' >> $SH echo '/home/user/phoneme/bin/cvm -Xmx12m -Dmicroedition.profiles=MIDP-2.1 -Dsun.midp.library.name=midp -Dsun.midp.home.path=/home/user/phoneme/midp/midp_linux_fb_gcc -Dcom.sun.midp.mainClass.name=com.sun.midp.main.CdcMIDletSuiteLoader sun.misc.MIDPLauncher -suitepath' $READLINKJAR '-jadpath' $JAD -1 $MAINCLASS >> $SH chmod a+x $SH echo "${SH} file created!" READLINK=`readlink -f $SH` MIDLET_NAME=`grep "MIDlet-Name: " $JAD | sed /MIDlet-Name:/s///` MIDLET_VERSION=`grep "MIDlet-Version: " $JAD | sed /MIDlet-Version:/s///` echo -e "[Desktop Entry] Encoding=UTF-8 Version=$MIDLET_VERSION Type=Application Name=$MIDLET_NAME Exec=.$READLINK X-Osso-Type=application/x-executable Terminal=true Icon=$MIDLET_NAME" | sudo tee /usr/share/applications/hildon/"$MIDLET_NAME".desktop sleep 6 run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Created! The $MIDLET_NAME shortcut is now on the Menu" echo "$MIDLET_NAME added as a .desktop shortcut" sleep 4 ; else run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Unable to create $MIDLET_NAME.desktop file, check the ownership and try again!" sleep 2 echo "Unable to add $MIDLET_NAME added as a .desktop shortcut, check the ownership!" fi exit 0
The Following User Says Thank You to santiago For This Useful Post: | ||
|
2012-02-14
, 17:00
|
Posts: 25 |
Thanked: 3 times |
Joined on Jul 2011
|
#214
|
The Following User Says Thank You to pedsarjon For This Useful Post: | ||
|
2012-02-14
, 17:04
|
Posts: 306 |
Thanked: 603 times |
Joined on Jan 2012
@ Belgium
|
#215
|
|
2012-02-14
, 17:17
|
|
Posts: 518 |
Thanked: 334 times |
Joined on Mar 2010
@ italy
|
#216
|
If I do "mad remote shell", I am logged in with username 'developer'. To
become root I have to run devrootsh [command].
I basically think that all these are issues with the emulator doing things
differently compared to a regular N900 device.
Also note that not all midlets ship with an icon.
Davy
|
2012-02-14
, 17:23
|
Posts: 25 |
Thanked: 3 times |
Joined on Jul 2011
|
#217
|
|
2012-02-14
, 17:35
|
Posts: 306 |
Thanked: 603 times |
Joined on Jan 2012
@ Belgium
|
#218
|
The Following User Says Thank You to DavyP For This Useful Post: | ||
|
2012-02-14
, 17:51
|
Posts: 3 |
Thanked: 0 times |
Joined on Feb 2012
|
#219
|
|
2012-02-14
, 17:52
|
|
Posts: 518 |
Thanked: 334 times |
Joined on Mar 2010
@ italy
|
#220
|
tanks santiago its worked in maemo but must delet "sudo" in
Icon=$MIDLET_NAME" | sudo tee /usr/share/applications/hildon/"$MIDLET_NAME".desktop
meaning
Icon=$MIDLET_NAME" | tee /usr/share/applications/hildon/"$MIDLET_NAME".desktop
#!/bin/sh run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Welcome to MakeJadSHortcutter!" sleep 2 JAR=$1 if [ ! -f "${JAR}" ]; then run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"JAR file does not exist!" && sleep 3 echo "Usage: makejadsh JAR file"; exit 1 fi JAD="${JAR%.*}.jad" if [ -f "${JAD}" ]; then echo -n "${JAD} already exists, overwrite the file? (Y/N) " read tmpans answer=$(echo "$tmpans" | tr '[:upper:]' '[:lower:]') if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then echo "Not overwriting ${JAD} file!" else rm -f "${JAD}" fi fi if [ ! -f "${JAD}" ]; then unzip -aa -j -p ${JAR} "META-INF/MANIFEST.MF" | sed -e '/^[ \t]*$/d' > "${JAD}" echo "MIDlet-Jar-URL: ${JAR}" >> "${JAD}" echo "MIDlet-Info-URL: http://" >> "${JAD}" FILESIZE=$(stat "${JAR}") echo "MIDlet-Jar-Size: ${FILESIZE}" >> "${JAD}" echo "${JAD} file created!" MIDLET_ICON=`grep "MIDlet-Icon: " $JAD | sed "s/\MIDlet-Icon://g" | sed 's/\///g' | sed 's/^[ \t]*//'` MIDLET_NAME=`grep "MIDlet-Name: " $JAD | sed /MIDlet-Name:/s///` ICON_NAME=`grep "MIDlet-Name: " $JAD | sed /MIDlet-Name:/s/// | sed 's/^[ \t]*//' | sed 's/ //g'` UNZIP_ICON=`unzip "$JAR" "$MIDLET_ICON" -d /usr/share/icons/hicolor/scalable/hildon/` RENAME_ICON=`mv "/usr/share/icons/hicolor/scalable/hildon/$MIDLET_ICON" "/usr/share/icons/hicolor/scalable/hildon/$ICON_NAME.png"` fi SH="${JAR%.*}.sh" if [ -f "${SH}" ]; then echo -n "${SH} Already exists, overwrite the file? (Y/N) " read tmpans answer=$(echo "$tmpans" | tr '[:upper:]' '[:lower:]') if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then echo "Not overwriting ${SH} file!" else rm -f "${SH}" fi fi if [ ! -f "${SH}" ]; then MAINCLASS=`cat $JAD | grep 'MIDlet-1:' | cut -d ',' -f 3` READLINKJAR=`readlink -f $JAR` echo '#!/bin/sh' > $SH echo '' >> $SH echo '/opt/phoneme/bin/cvm -Xmx12m -Dmicroedition.profiles=MIDP-2.1 -Dsun.midp.library.name=midp -Dsun.midp.home.path=/opt/phoneme/midp/midp_linux_fb_gcc -Dcom.sun.midp.mainClass.name=com.sun.midp.main.CdcMIDletSuiteLoader sun.misc.MIDPLauncher -suitepath' $READLINKJAR '-jadpath' $JAD -1 $MAINCLASS >> $SH chmod a+x $SH echo "${SH} file created!" READLINK=`readlink -f $SH` MIDLET_NAME=`grep "MIDlet-Name: " $JAD | sed /MIDlet-Name:/s///` MIDLET_VERSION=`grep "MIDlet-Version: " $JAD | sed /MIDlet-Version:/s///` echo -e "[Desktop Entry] Encoding=UTF-8 Version=$MIDLET_VERSION Type=Application Name=$MIDLET_NAME Exec=.$READLINK X-Osso-Type=application/x-executable Terminal=true Icon=$ICON_NAME" | sudo tee /usr/share/applications/hildon/"$MIDLET_NAME".desktop sleep 6 run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Created! The $MIDLET_NAME shortcut is now on the Menu" echo "$MIDLET_NAME added as a .desktop shortcut" sleep 4 ; else run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Unable to create $MIDLET_NAME.desktop file, check the ownership and try again!" sleep 2 echo "Unable to add $MIDLET_NAME added as a .desktop shortcut, check the ownership!" fi exit 0
The Following User Says Thank You to santiago For This Useful Post: | ||
/home/developer $ devrootsh apt-get update
/home/developer $ devrootsh apt-get install unzip
...
E: Package unzip has no installation candidate
/home/developer $ devrootsh apt-cache search unzip
zlib-bin - compression library - sample programs
busybox-power - Tiny utilities for small and embedded systems - enhanced package
So I had to install the busybox-power package. However, the unzip implementation it provides does not support the -aa -j command line switches:
BusyBox v1.19.3 (Debian 1.19.3power1) multi-call binary.
Usage: unzip [-opts[modifiers]] FILE[.zip][LIST] [-x XLIST] [-d DIR]
Extract files from ZIP archives
-l List archive contents (with -q for short form)
-n Never overwrite files (default)
-o Overwrite
-p Send output to stdout
-q Quiet
-x XLST Exclude these files
-d DIR Extract files into DIR
Davy