脱糖与DXD8R8

Posted danfengw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了脱糖与DXD8R8相关的知识,希望对你有一定的参考价值。

脱糖

脱糖含义:lamdal表达式在打包构建期间被转换成内部类的形式,这个过程叫脱糖(java编译时不会这样)。
为了让我们能使用上Java 8的特性,Google使用Transformation来增加了一步编译过程 →脱糖(desugaring)。
脱糖实现的大概发展历程如下:

D8

D8作用:脱糖 + 将.class字节码转换成dex

R8

整合了Proguard和D8 ,减少了一个编译步骤,同时保留了字节码优化能力

两者关系

1、ProGuard→ 压缩、优化和混淆Java字节码文件的免费工具,开源仓库地址:proguard
https://github.com/Guardsquare/proguard

2、R8→ ProGuard的替代工具,支持现有ProGuard规则,更快更强,AGP 3.4.0或更高版本,默认使用R8混淆编译器。

以上是关于脱糖与DXD8R8的主要内容,如果未能解决你的问题,请参考以下文章

脱糖与DXD8R8

脱糖与DXD8R8

在编译的哪个阶段,语法糖通常会“脱糖”

[Vue深入组件]:v-model语法糖与自定义v-model

如何解决多个 D8 警告:未找到 <Class X>,默认或静态接口方法需要对 <Class Y> 进行脱糖?

最少的次数