4

D8是 Android Studio 和 Android Gradle 插件用来将项目的 Java 字节码编译成 DEX 字节码的命令行工具。该命令有几个选项

--output path , --file-per-class , --no-desugaring , --main -dex-list等。

我有几个问题:

  1. 如何将此标志从 gradle 构建文件传递给 d8?
  2. 如何查看 Android Studio 在构建 apk 时实际使用的完整 d8 命令(带有所有标志)。

我已经尝试将DexOptions 命令additionalParameters属性一起使用。

android {
    ....
    dexOptions {
        additionalParameters = ['--main-dex-list=mylist.txt']
    }
}

但它似乎不起作用。

D8工具之前有DX工具。参数可以像这样发送到 DX: 在此处输入图像描述 但现在这不起作用。可能是因为现在D8dexing 任务名称不以dex单词开头。

我还注意到有android.enableD8.desugaring=true可以在gradle.properties文件中声明的属性。我假设这个属性打开了--no-desugaring标志D8

如果是这样,也许其他属性也可以通过gradle.properties文件设置?是否有所有可用android.enableD8.*属性的文档?

更新:

multiDexKeepFile每个 BuildType 块中都有可以声明的属性。看起来这个属性与D8的 --main-dex-list标志完全一样。好的,但是其他标志呢?

4

0 回答 0