iもどき マニュアル


 

jar サイズ削減

概要

iもどきバージョン 0.0.2 以降では、jar サイズ削減ツール(オブファスケータ、 スマートリンカ)を呼び出し、変換後の jar ファイルのサイズを縮小するこ とができます。現在呼び出すことができるツールは以下のものです。

使い方

上で挙げられているツールをお好みに応じてダウンロードし、 アーカイブを展開します。 展開後に現れるjar ファイルを、iもどきを展開したディレクトリの下の ext-tools というディレクトリにコピーします。

あとはふつうに imodokic を実行し、iアプリの変換を行なえば、 変換後の jar ファイルに対して、自動的にツールが呼び出され、圧縮処理が 行なわれます。

なお、ツールを何も用意しなくても最低限の圧縮ができるように、 ext-tools 以下には iもどき Extractor (extractor.jar) が既に置いてあります。しかし、あまり性能はよくありませんので、ProGuard などの、より高性能なツールの使用をおすすめします。

複数のツールを組み合わせる

ext-tools 以下に複数のツールの jar ファイルを置いておく ことで、複数のツールを組み合わせて使用することができます。単独で使用する 場合よりも、より高い圧縮率を得ることができます。

ただし、効果のない組み合わせもあります。例えば、ProGuard があれば、 iもどき Extractor (extractor.jar) や RetroGuard は必要ありません。 処理時間が増えるだけです。有効な組み合わせを適宜選んでください。 おすすめは ProGuard と jarg です。

注意事項

それぞれのツールには、不具合がある場合があります。当方で確認している 不具合には、以下のようなものがあります。

  • RetroGuard
    • J2ME Wireless Toolkit 2.0 の使用時、 UnsatisfiedLinkError というエラーを出し、 正常に実行できない。
  • JAX 6.1/7.3
    • JDK のバージョンによっては、VerifierError を発生し、正常に実行できない。
    • -notransform オプションを付けないと、 verifier を通らないクラスファイルを作ることがある。

不具合が出た際の対処法

ツールの実行に失敗しても、処理は継続されます。エラーメッセージが気に なる方は、問題のツールを ext-tools ディレクトリから 取り除いてください。

ツールは正常に実行されるけれども、結果として出力される MIDlet が 正常に実行できない、という場合には、まず imodokic-debugbuild オプションを加えて変換を行なってみてください。 このオプションを付けると、縮小処理を行ないません。 これで作成された MIDlet が正常に実行できなければ、縮小処理以前に、 MIDlet への変換処理がうまくいっていません。

-debugbuild オプションを付けて作成された MIDlet が 正常に実行できる場合、縮小処理に問題があります。 ツールをひとつづつ ext-tools ディレクトリから移動し、 imodokic による変換を繰り返し行なってみて(このとき -debugbuild オプションは付けないでください)、 どのツールがエラーの原因になっているかを調べてみてください。

上で挙げた以外の不具合が発生した場合には、 対応の必要があるかもしれませんので、ご報告ください。


$Date: 2003/04/06 01:11:09 $