[Geany] skrypt kompilujacy i uruchamiajacy aplikacje mobilne

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
mk_cafe
Piegowaty Guziec
Piegowaty Guziec
Posty: 7
Rejestracja: 26 cze 2008, 16:59
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Kontakt:

[Geany] skrypt kompilujacy i uruchamiajacy aplikacje mobilne

Post autor: mk_cafe »

Witam.

Nie wiem czy dobry dzial bo to bardziej prawie gotowe rozwiazanie niz pytanie wiec jak cos prosze o przeniesienie.
Napisalem (albo wlasciwie przerobilem z roznych zrodel) 2 skrypty do kompilacji i uruchamiania aplikacji j2me z linii polecen, moze sie komus przydac, jesli chcialby uruchamiac je bezposrednio z Geany.

skrypt do kompilacji (build.sh):

Kod: Zaznacz cały

#!/bin/sh -e
#skrypt kompilujacy aplikacje J2ME

#tutaj mozesz zmienic domyslne wartosci w plikach manifest i .jad
VENDOR="unknown"
VERSION="1.0"
NAME="$1"
ICON=
CLASS="$1"
AUTHOR="unknown"

FILE=$1
WTK=/sciezkaDo/WTK #podaj sciezke, w ktorej znajduje sie Sun Java Wireless Toolkit
MIDP=${WTK}/lib/midpapi20.jar
CLDC=${WTK}/lib/cldcapi11.jar
PREVERIFY=${WTK}/bin/preverify

echo "Preparing..."
rm -R output tmp*
echo "Compiling source files..."
javac -bootclasspath ${MIDP}:${CLDC} -source 1.3 -target 1.3 ${FILE}.java


echo "Preverifying class files..."
${PREVERIFY} -classpath ${MIDP}:${CLDC} .

cd output
echo "Making MANIFEST"
echo "Manifest-Version: 1.0
MIDlet-Vendor: ${VENDOR}
MIDlet-Version: ${VERSION}
MIDlet-1: ${NAME}, ${ICON}, ${CLASS}
Created-By: ${AUTHOR}
MIDlet-Jar-URL: ${FILE}.jar
MIDlet-Name: ${NAME}
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0" > jarmanifest

echo "Jaring preverified class files..."
jar cfm ${FILE}.jar jarmanifest -C . *.class

if [ -d ../res ] ; then
  jar uf ${FILE}.jar -C ../res .
fi

echo "Creating JAD file"
FILESIZE=$(stat -c%s "${FILE}.jar")
echo "MIDlet-1: ${NAME}, ${ICON}, ${CLASS}
MIDlet-Jar-Size: ${FILESIZE}
MIDlet-Jar-URL: ${FILE}.jar
MIDlet-Name: ${NAME}
MIDlet-Vendor: ${VENDOR}
MIDlet-Version: ${VERSION}" > ${FILE}.jad

rm jarmanifest
mv -f *.class ..

echo "Done :)"
i do emulacji (run.sh):

Kod: Zaznacz cały

#!/bin/sh
# skrypt uruchamiajacy aplikacje J2ME w emulatorze

FILE=$1
WTK=/sciezkaDo/WTK

${WTK}/bin/emulator -Xdescriptor:output/${FILE}.jad
* Instalacja *
zapisz oba skrypty w dowolnym miejscu, uruchom Geany i otworz jakikolwiek plik .java, teraz kliknij na Zbuduj -> Ustawienia budowania i kompilacji i w Skompiluj wpisz:

gksudo sh /sciezkaDo/build.sh %e

a w Wykonaj:

gksudo sh /sciezkaDo/run.sh %e

* Wymagania *
skrypty do dzialania wymagaja zainstalowanego Sun Java Wireless Toolkit, korzystalem z wersji 2.5.2, dlatego nie wiem jak skrypt bedzie dzialal na innych wersjach, testowalem go na niezbyt skomplikowanych przykladach i wszystko dzialalo ok, ale watpie czy ten skrypt bedzie dzialal przy bardziej rozbudowanych projektach bez potrzeby zmiany czegos w kodzie, dlatego poki co moze przyda sie osobom ktore dopiero zaczynaja sie bawic w j2me takie jak ja ;).

skrypt uruchamia sie z folderu w ktorym znajduje sie kompilowany plik .java i probuje kompilowac wszystkie potrzebne klasy ktore sie w nim znajduja, a jesli chcesz dodac jakies grafiki i dzwieki to wystarczy utworzyc katalog res i wrzucic tam te pliki (wszystko co tam jest zostanie dorzucone do pliku .jar), dlatego lepiej trzymac kazdy odrebny projekt w innym katalogu. Po skompilowaniu tworzy folder output w ktorym znajduja sie pliki .jar i .jad

* Bledy, wady, itp. *

- nie udalo mi sie uruchomic tego skryptu jako zwykly uzytkownik dlatego niestety trzeba wpisywac prawie za kazdym razem haslo, ewentualnie sprobowac uruchomic Geany jako root

- wszystko kompiluje sie z jednymi domyslnymi ustawieniami, zeby je zmienic trzeba recznie edytowac skrypt kompilacji (moze da sie zrobic jakas wtyczke do Geany ktora by edytowala te ustawienia?)

- w jednym przypadku emulator pod Geany nie chcial sie uruchomic (pod konsola zadzialal normalnie), podajac komunikat "Nie udalo sie uruchomic programu terminala", moze to wina Geany, nie wiem

* Finito? *
Gdyby ktos korzystal z tych skryptow u siebie prosilbym o informowanie o bledach ewentualnie pomoc w ich naprawieniu tez by sie przydala, poniewaz dopiero zaczynam zabawe z j2me ;)

Pozdr. :)
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość