Error:Java 8 language support, is not supported when 'android.useDexArchive= false'.

最近在其它项目集成bugly的tinker热修复的时候,报了Error:Java 8 language support, as requested by 'android.enableD8.desugaring= true' in your gradle.properties file, is not supported when 'android.useDexArchive= false'. 由于这个项目是指定 java8,其它项目低于8的没有这个问题。

什么是D8 ?D8的功能是把java字节码转化成dex代码,D8作为DX的一个替换方案。

D8的使用:

Android Studio 3.0 : 需要主动在gradle.properties文件中新增:android.enableD8=true
Android Studio 3.1或之后的版本D8将会被作为默认的Dex编译器。如果遇到问题,你可以通过修改gradle.properties文件里的一个属性恢复到DX android.enableD8=false

如果想详细查看有关D8的知识可以看这个博客:Android Studio 3.0+ 新Dex编译器D8 Desugar R8

 

如何解决这个问题:

当前项目配置:

classpath 'com.android.tools.build:gradle:3.2.1'

// 集成Bugly热更新aar(本地集成使用方式)
implementation 'com.tencent.bugly:crashreport_upgrade:latest.release'
//1. 指定tinker依赖版本(注:应用升级1.3.5版本起,不再内置tinker)
implementation 'com.tencent.tinker:tinker-android-lib:1.9.9'

按照提示新增了:gradle.properties文件

内容为: 

android.enableD8.desugaring = true
android.useDexArchive = true

结果还是提示上面的错误,将 'com.tencent.bugly:crashreport_upgrade:latest.release' 改为: 'com.tencent.bugly:crashreport_upgrade:1.3.6'  具体为1.3.6的版本,就可以了。 

但是会出现警告,但是可以编译通过了。希望官方尽快修复这个问题吧。

github上面已经有人提出这个问题了:https://github.com/BuglyDevTeam/Bugly-Android-Demo/issues/67

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值