android - 用 D8 编译

标签 android compilation dex dx

我想使用 Google 最近推出的 D8 编译器来构建 dex 文件。
不幸的是,我没有在 build-tools 文件夹中找到 jar 可执行文件(如 dx 工具)。
有谁知道它的位置?

提前致谢。

最佳答案

构建工具中的任何地方都没有 D8.jar。 D8 作为 Maven 工件分发。可以从https://maven.google.com下载.工件名为 com.android.tools:r8因为 D8 是 R8 项目的一部分。该 jar 包含 R8 和 D8 命令行界面,因此,理论上,它可以从如下命令行下载和使用: java -cp r8.jar:<...dependency jars> com.android.tools.r8.D8 <D8 arguments here> java -cp r8.jar:<...dependency jars> com.android.tools.r8.R8 <R8 arguments here> 然而,这个工件 jar 有很多依赖项,如果您想在基于 gradle 的构建之外使用它,那么您自己从源代码构建 r8/d8.jar 可执行 jar 会更容易。操作说明位于 https://r8.googlesource.com/r8/ .生成的 jars 是独立的( bundle 了所有的 deps)。

Android Gradle 插件(因此也包括 Android Studio)不依赖于 com.android.tools:r8 . R8/D8 类 bundle 到 com.android.tools.build:builder (gradle 插件包含的库之一)代替。

关于android - 用 D8 编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48776347/

相关文章:

android - "Unable to merge dex"安卓工作室 3.0

java - dexifying 18.5 MB "android-4.1.1_r1.jar"给出 "java.lang.OutOfMemoryError: Java heap space"

javascript - React-Native:在运行时在 webview 中动态注入(inject) javascript

android - 如何像在 Android 上的 Gmail 应用程序中那样创建多个 Actionbar

Android Gradle 下载库不完整

compilation - "install"编程语言的真正含义是什么?

android - 在路径 : DexPathList 上找不到类 "android.support.multidex.MultiDexApplication"

android - 如何在 flutter 的 Markdown 中添加超链接到文本

android - 指示 gnu make 仅使用静态库

java - 如何更改 Maven 构建目录?