d8&dx命令使用

d8&dx命令使用

d8 命令:

d8 是dx的升级版,是一种命令行工具,Android Studio 和 Android Gradle 插件使用该工具来将项目的 Java 字节码编译为在 Android
设备上运行的 DEX 字节码,该工具支持您在应用的代码中使用 Java 8 语言功能。工具位于SDK安装目录下的build-tools下。

输入字节码可以是 *.class 文件或容器(例如 JAR、APK 或 ZIP 文件)的任意组合。您还可以添加 DEX 文件作为 d8 的输入,
以将这些文件合并到 DEX 输出中,这在要包含增量构建的输出时很有用。

编译 DEX 字节码时在其中包含调试信息,例如调试符号表。此选项默认处于启用状态(基本不需要)
–debug

正式编译,编译 DEX 字节码时不包含调试信息(一般加上)
–release

指定生成的dex路径
–output

指定指向 Android SDK 的 android.jar 的路径。
–lib

指定 d8 在编译项目的 DEX 文件时可能需要使用的类路径资源。特别是在编译使用 Java 8 语言功能的字节码时,d8 会要求您指定特定的资源。
(一些额外的类资源,比如自定义或者第三方库)
–classpath

指定您希望 DEX 输出文件支持的最低 API 级别。
–min-api number

停用 Java 8 语言功能。仅当您不想编译使用 Java 8 语言功能的 Java 字节码时,才可使用此标记。(不支持java8时使用)
–no-desugaring

指定列出 d8 应包含在主 DEX 文件中的类的文本文件,该文件的名称通常为 classes.dex。也就是说,如果您不使用此标记指定类列表,
d8 将无法保证主 DEX 文件中会包含哪些类。(看情况使用,一般全合并时不需要,分dex时需要)
–main-dex-list

查看d8版本。
–version

实例:
d8 --release ./aapt/my.jar --output ./dex/ --lib C:\Users\LaiYing\AppData\Local\Android\Sdk\platforms\android-30\android.jar

问题:
1、Output must be a .zip or .jar archive or an existing directory
输出必须是.zip或.jar存档文件或现有目录(新建一个输出目录,默认生成的文件名为classes.dex)

dx 命令:

生成dex
–dex

跳过方法优化。生成的dex文件未优化,但会快速生成。
–no-optimize

忽略错误。
–no-strict

第三方库
–core-library

输出路径
–output

输出日志
–verbose

实例:
dx --dex --verbose --no-strict --output=./dex/ ./aapt/my.jar

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值