2011年3月18日金曜日

Usage of dx --dex (dx --dex の使い方)

USAGE

    dx --dex [OPTIONS] FILES...


OVERVIEW

    Convert Java class files into Dalvik dex format.


OPTIONS

    --

        Stops parsing options. Arguments after this are regarded as FILES
        even if they start with "-". Note that parsing options is stopped
        also when an argument that does not start with "-" is found.

    --debug

    --verbose

    --verbose-dump

    --no-files

        Ignores input files. If this option is given, FILES specified on
        the command line are ignored. To put it another way, if this
        option is not given, FILES must be specified on the command line.

    --no-optimize

        Skips optimization on methods. The resultant dex file is not
        optimized but is generated speedily. See --optimize-list option.

    --no-strict

        Skips the following checks.

          1. Whether the format version of input class files are in the
             range which this dx command can handle.

          2. Whether path names of input class files match the declared
             package/class names.

    --core-library

        Allows classes under the following packages to be contained as
        input files. Note that javax sub packages that are not listed below
        can be contained without this option except classes which directly
        belong to javax package (e.g. javax.MyClass).

          java
          javax.accessibility
          javax.crypto
          javax.imageio
          javax.management
          javax.naming
          javax.net
          javax.print
          javax.rmi
          javax.security
          javax.sound
          javax.sql
          javax.swing
          javax.transaction
          javax.xml

    --statistics

    --optimize-list=FILE

        Specifies a file which contains a newline-separated list of method
        names. Methods listed in the file are optimized. Note that if this
        option is given, methods which are not explicitly listed are not
        optimized.

        This option and --no-optimize-list option are mutually exclusive.
        If neither of this option nor --no-optimize-list option is given,
        all methods are optimized by default unless --no-optimize option
        is given.

    --no-optimize-list=FILE

        Specifies a file which contains a newline-separated list of method
        names. Methods listed in the file are not optimized. Note that if
        this option is given, methods which are not explicitly listed are
        optimized.

        This option and --optimize-list option are mutually exclusive. If
        neither of this option nor --optimize-list option is given, all
        methods are optimized by default unless --no-optimize option is
        given.

    --keep-classes

        Adds input class files into the output dex file. Output files
        generated with this option contain both classes.dex file and
        .class files, so the size is larger than ones generated without
        this option, but such files can be used both on Dalvik VM and
        Java Standard Edition VM.

    --output=FILE

        Specifies the name of the output file. The extension of FILE must
        be one of the following: ".zip", ".jar", ".apk" and ".dex". "-" is
        also allowed as FILE and if it is specified, the output goes to the
        standard output.

    --dump-to=FILE

        Specifies where human-readable output should go. If --dump-method
        option is not given, the default value used when this option is
        not explicitly specified is "-" which means that human-readable
        output is written to the standard output.

    --dump-width=N

        Specifies the maximum width of the human-oriented output. N must
        be equal to or greater than 40.

    --dump-method=METHOD

        Dumps information about a specified method in human-readable format.
        If this option is given, the normal dex output is not generated.

        METHOD is a fully-qualified method name. The last letter of METHOD
        can be '*', and in such a case, '*' is regareded as a wildcard and
        all methods that match the pattern are dumped.

    --positions=POSITION

        Specifies how much position information should be preserved.
        Possible values of POSTION and their meanings are as follows.
        The default value is "lines".

          "none"         No position information is preserved.

          "lines"        Line number information is preserved.

          "important"    Important position information is preserved.
                         This contains block starts and instructions
                         that might throw.

    --no-locals

        Discards information about local variables.


FILES

    Class files, jar files or directories which contain class files.


-------------------------------------------------

■ 使い方

    dx --dex [オプション] ファイル...


■ 概要

    Java クラスファイルを Dalvik DEX フォーマットに変換する。


■ オプション

    --

        オプション解析を終了する。これに続く引数は、たとえ "-" で始まって
        いてもファイルとみなされる。"-" で開始しない引数が見つかったときにも
        オプション解析は終了する。

    --debug

    --verbose

    --verbose-dump

    --no-files

        入力ファイルを無視する。このオプションが与えられると、コマンド
        ライン上に指定されたファイル群は無視される。別の言い方をすると、
        このオプションを与えない場合は、コマンドライン上でファイル群を
        必ず指定しなければならない。

    --no-optimize

        メソッドの最適化をおこなわない。出力 DEX ファイルは最適化されないが、
        生成処理は速くなる。--optimize-list オプションを参照のこと。

    --no-strict

        次のチェックをおこなわない。

          1. 入力クラスファイルのフォーマットバージョンが、dx コマンドが
             扱える範囲にあるかどうか。

          2. 入力クラスファイルのパス名と、宣言されているパッケージ/
             クラス名が合っているかどうか。

    --core-library

        下記のパッケージ下のクラスが入力ファイルに含まれていても許容する。
        このオプションを与えなくても、下記にリストされていない javax サブ
        パッケージを含めることはできるが、javax パッケージに直接属するクラス
        (javax.MyClass 等) は除く。

          java
          javax.accessibility
          javax.crypto
          javax.imageio
          javax.management
          javax.naming
          javax.net
          javax.print
          javax.rmi
          javax.security
          javax.sound
          javax.sql
          javax.swing
          javax.transaction
          javax.xml

    --statistics

    --optimize-list=FILE

        改行で区切られたメソッド名のリストを含むファイルを指定する。その
        ファイルにリストされているメソッド群は最適化される。このオプションが
        指定された場合、明示的にリストされていないメソッドは最適化されない
        ので注意。

        このオプションと --no-optimize-list オプションは相互排他である。
        このオプションも --no-optimize-list オプションも与えられなかった
        場合、--no-optimize オプションが与えられない限り、デフォルトで
        全てのメソッドが最適化される。

    --no-optimize-list=FILE

        改行で区切られたメソッド名のリストを含むファイルを指定する。その
        ファイルにリストされているメソッド群は最適化されない。このオプションが
        指定された場合、明示的にリストされていないメソッド群は最適化される。

        このオプションと --optimize-list オプションは相互排他である。この
        オプションも --optimize-list オプションも与えられなかった場合、
        --no-optimize オプションが与えられない限り、デフォルトで全ての
        メソッドが最適化される。

    --keep-classes

        入力クラスファイル群を出力 DEX ファイルに追加する。このオプションを
        与えて生成されたファイルは classes.dex ファイルと .class ファイル群の
        両方を含む。そのため、このオプション無しで生成されたものよりもサイズは
        大きくなるが、Dalvik VM と Java Standard Edition VM の両方で使用する
        ことができるようになる。

    --output=FILE

        出力ファイルの名前を指定する。FILE の拡張子は、".zip", ".jar", ".apk",
        ".dex" のいずれかでなければならない。FILE として "-" を指定することも
        可能で、その場合、出力は標準出力に対してなされる。

    --dump-to=FILE

        人間が読める形式の出力の送り先を指定する。--dump-method オプションが
        与えられていない場合、このオプションが明示的に指定されていないときの
        デフォルト値は "-" であり、これは、人間が読める形式の出力が標準出力に
        書き込まれることを意味する。

    --dump-width=N

        人間が読める形式の出力の最大幅を指定する。N は 40 以上でなければならない。

    --dump-method=METHOD

        指定されたメソッドに関する情報を人間が読める形式で出力する。この
        オプションが与えられた場合、通常の DEX 出力は生成されない。

        METHOD は完全修飾メソッド名である。METHOD の最後の文字を '*' にする
        ことができ、その場合は '*' はワイルドカードとみなされ、そのパターンに
        適合する全てのメソッドがダンプされる。

    --position=POSITION

        位置情報をどの程度保持するかを指定する。POSITION に取りうる値とそれらの
        意味は下記のとおり。デフォルト値は "lines"。

          "none"         位置情報を保持しない。

          "lines"        行番号情報を保持する。

          "important"    重要な位置情報を保持する。これには、ブロックの
                         開始や例外を投げうるインストラクションが含まれる。

    --no-locals

        ローカル変数に関する情報を破棄する。


■ ファイル...

    クラスファイル、JAR ファイル、もしくはクラスファイルを含むディレクトリ。