解决 Didn‘t find class “java.lang.invoke.SerializedLambda“

升级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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值