使えるようになるまでの設定はいろいろ大変です。
まず、ProGuard。Java byte codeをshrinkし、obfsucateするツールで、大変すぐれものです。使われないクラスやコードを消してくれます(shrink)。ファイルサイズに限りがあるJ2MEでは特に重宝します。さらに、変数名やメソッド名などを短く記号化(s1,s2とか)する機能(obfsucate)もあります。逆コンパイル自体を防止するわけではないのですが、その結果のソースが機械的なため、人間には難読です。
有用なツールなのにDebianizeされてなかったので、トライします。ライブラリの依存もないので、きっと簡単です。ITPも出しておきました。できたあかつきには、とらねこさんにお願いできればと思います。お手を煩わせる修正がないように多分パッケージ化できるはずです。
ところで、ITPはBugTrackingSystemで管理されているのですね。BTSへの報告は、reportbugというコマンドを使うとできます(apt-get install reportbug)。メール経由ですが、自動です。こういう環境が整備されているのが、Debianの素晴らしい点です。
次に、Antenna。J2MEのJADやJARアーカイブを作るAnt Taskです。決してURLを管理するものではありません。PreverifyやObfsucateも指定できるので楽です。さらに、JARアーカイブのサイズも自動的にJADやMANIFESTに書いてくれます。素晴らしい。
最後に、J2MEUnit。サンプルがついているので、それを真似してAntのbuild.xmlを書けばOK。J2MEには、Refrection機能がないので、testメソッドの呼び出しを自分で書き下す必要があります。
なのですが、いろいろ微修正が必要です。Contributeしてあげないといけませんね。設定としての注意点は、iden.homeをWireless Tool KitのHOME(wtk.home)に指定します。wtk.home/bin/emulatorスクリプトで、JAVA_HOMEを正しくしましょう。それから、MIDP for PalmOSが必要です。ケイタイJ2MEには必要ないのですが、サンプルはこのタスクを実行しようとするので入れておいた方が楽です。SunのサイトからMIDP for Palm OSをDLして、Converter.jarをwtk.home/wtklib/PalmOS_Device/converter.jarへコピーします。
Mavenに深入りするつもりは微塵もないのですが、Mavenはいろいろとかゆい箇所があり、ちょっと直すとよく動くので、Hack心を刺激します。
上のJ2ME環境がすべてAntなので、いちいち書かねばならず不便です。Mavenのプラグインにしたいですね。ちょっとこれは本格的なので他力本願したいところです。
私の念願が叶ったのが、JavaNCSSです。ソースの行数を数えてくれるツールです。ソースの質を判断する(Metrics)単純な目安のひとつに、メソッドあたりの行数があると常々思っているのですが、これできちんと計測できるようになりました。しかも、Mavenのプラグインになっています。またこれがかゆくて、微修正が必要です。Contributeしないと...。
kernel構築してドライバを組み込んだのにどうして音が出ないのか不思議だったのですが、一般ユーザーをaudioグループに加えたら鳴るようになりました [debian jp users ML]。
できれば、kaffe/gcj/jikes等、オープンソースのJVM/コンパイラを利用してパッケージを作成しておいて下さい。SUNの奴を使うと、mainに入れれないので