Android dx 命令 使用方法详解

几番搜索下来,都没有找到中文比较详细的说明,那我就把我找到比较详细的贴上来吧

USAGE

dx --dex [ OPTIONS ] FILES ... 

概述

将Java类文件转换为Dalvik dex格式。

选项

-

    停止解析选项。在此之后的参数,即使以“ - ”开头也被视为 FILES。请注意,
    当找到不以“ - ”开头的参数时,也会停止解析选项。

--debug 

--verbose 

--verbose-dump 

--no-files

    忽略输入文件。如果给出此选项,         则忽略在命令行上指定的 FILES。换句话说,如果
    没有给出此选项,则为 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宽度=N

    指定面向人的输出的最大宽度。N必须
    等于或大于40. 

--dump-method = METHOD

    以人类可读的格式转储有关指定方法的信息。
    如果给出此选项,则不会生成正常的dex输出。

    METHOD是一个完全限定的方法名称。METHOD的最后一个字母
    可以是'*',在这种情况下,'*'被称为通配符,并且
    所有与该模式匹配的方法都被转储。

--positions = POSITION

    指定应保留多少位置信息。POSTION的
    可能值它们的含义如下。
    默认值为“lines”。

      “none”不保留位置信息。

      “行”保留行号信息。

      “重要”保留重要的位置信息。
                     这包含块启动和
                     可能抛出的指令。

--no-locals

    丢弃有关局部变量的信息。

FILES

包含类文件的类文件,jar文件或目录。

HELP:

usage: dx --dex [--debug] [--verbose] [--positions=(style)] [--no-locals]
[--no-optimize] [--statistics] [--[no-]optimize-list=(file)] [--no-strict]
[--keep-classes] [--output=(file)] [--dump-to=(file)] [--dump-width=(n)]
[--dump-method=(name)[*]] [--verbose-dump] [--no-files] [--core-library]
[--num-threads=(n)]
[(file).class | (file).{zip,jar,apk} | (directory)] ...
Convert a set of classfiles into a dex file, optionally embedded in a
jar/zip. Output name must end with one of: .dex .jar .zip .apk. Positions
options: none, important, lines.
dx --annotool --annotation=(class) [--element=(element types)]
[--print=(print types)]
dx --dump [--debug] [--strict] [--bytes] [--optimize]
[--basic-blocks | --rop-blocks | --ssa-blocks | --dot] [--ssa-step=(step)]
[--width=(n)] [(file).class | (file).txt] ...
Dump classfiles, or transformations thereof, in a human-oriented format.
dx --junit [-wait] (TestClass)
Run the indicated unit test.
dx --find-usages (file.dex) (declaring type) (member)
Find references and declarations to a field or method.
declaring type: a class name in internal form, like Ljava/lang/Object;
member: a field or method name, like hashCode
dx -J(option) ... (arguments, in one of the above forms)
Pass VM-specific options to the virtual machine that runs dx.
dx --version
Print the version of this tool (1.7).
dx --help
Print this message.

kisence

潮落江平未有风。