が含まれています。
私のモビリティアプリケーションでは、実際にはzipファイルから4つのクラスを使用していますが、プロジェクトをコンパイルしてビルドすると、宛先jarファイルにzipファイルの10個の.classファイルがすべて含まれているようです。
私は、アプリケーションによって使用されるクラスファイルだけが最終的なjarファイルにコンパイルされると認識していました。 何がうまくいかない可能性がありますか?
が含まれています。
私のモビリティアプリケーションでは、実際にはzipファイルから4つのクラスを使用していますが、プロジェクトをコンパイルしてビルドすると、宛先jarファイルにzipファイルの10個の.classファイルがすべて含まれているようです。
私は、アプリケーションによって使用されるクラスファイルだけが最終的なjarファイルにコンパイルされると認識していました。 何がうまくいかない可能性がありますか?
jarのproguardを使用して、MIDletクラスで使用されていないクラスを自動的に削除してみてください。
難読化レベルをmaxに設定し、jarファイルが元のサイズの半分に縮小され、最終的なjarファイルに表示されるクラスファイルも少なくなりました。 しかし、私が使ったクラスが最終的な瓶に入っていない理由は分かりません。 –
Proguardは、難読化および縮小の過程でクラスの名前を変更します。クラス名を保持する場合は、難読化中にkeepattributesフラグを使用します。さまざまなオプションについては、Proguardのマニュアルを参照してください。 – Ram
あなたは、添付されたリソースファイルで何が行われるのかについて誤った仮定をしていると思います。あなたが使っているものと使われていないものが自動的には分かりません。しかし、サードパーティのツールが役立つかもしれません。
どのクラスを使用しているのかNetbeansはどのように知っていますか?あなたが知っているすべてのものについて、あなたはそれらを反射的にアクセスすることができます。 –
コンパイラは、必要なクラスファイルを使用していることを知っていません。最終的なjarファイルにそれらを含めることはできません。jarファイルサイズの観点から話しています。 たとえば、100個の.classファイルを含むresourcesディレクトリにzipまたはjarを添付すると、最終的にコンパイルされたjarファイルにすべて100個の数字が入ります。 –
はい、そうです。しかし、あなたが反射で面白いことをやっていないならば、izbの答えはうまくいくはずです。 –