升级android studio4.0之后发现 编译后,提升gradle版本到3.5.2,运行时发生crash。
android studio3.0已经支持了脱糖,为什么高版本会crash?
赶紧查看android studio 升级了什么功能导致的,附官方文档链接
官方文档
D8 和 R8 中的 Java 8 库脱糖
Android Studio 现在支持使用多种 Java 8 语言 API,而无需为应用设置最低 API 级别。
通过一个称为“脱糖”的过程,Android Studio 3.0 及更高版本中的 DEX 编译器 D8 已经为 Java 8 语言功能(如 lambda 表达式、默认接口方法、try-with-resources 等等)提供了大量的支持。在 Android Studio 4.0 中,脱糖引擎经过扩展,能够使 Java 语言 API 脱糖。这意味着,您现在可以在支持旧版 Android 的应用中添加过去仅在最新 Android 版本中可用的标准语言 API(如 java.util.streams)。
此版本支持下面一组 API:
为了支持这些语言 API,D8 编译了一个单独的库 DEX 文件,其中包含缺失 API 的实现,并将其添加到您的应用中。脱糖过程会重新编写应用的代码,以便在运行时改用此库。
如需启用对这些语言 API 的支持,请在模块的 build.gradle 文件中添加以下内容:
android {
defaultConfig {
// Required when setting minSdkV