実行に関係のない属性の削除
クラスファイルの構成
- コンスタントプール ( 定数情報 )
- インターフェースのリスト
- フィールドのリスト( 属性のリストを含む)
- メソッドのリスト( 属性のリストを含む)
- 属性のリスト
* 属性 : クラスファイル、フィールド、メソッドに付加される情報です。ソースファイル名、内部クラス、メソッドのバイトコードなどは属性の例です。
削除できる属性
下記の携帯電話上でのアプリ実行に不要な属性を削除します。
- フィールドの属性:
- Synthetic ( コンパイラが作成した情報 )
- メソッドの属性:
- バイトコードの属性:
- LineNumberTable ( 行番号の情報 )
- LocalVariableTable ( メソッドで定義される変数の情報 )
- StackMap ( プリベリファイ時に付加される情報 )
- Exceptions ( コンパイル時のみに参照される、メソッド外にthrowされる例外情報 )
- Synthetic ( コンパイラが作成した情報 )
- バイトコードの属性:
- クラスの属性:
- SourceFile ( ソースファイル名 )
- その他
※ ソースファイルやコンパイルオプションによって削除できない情報を削除できます。