没有--min-sdk-version> = 24时使用的默认或静态接口方法

TmT*_*ron 18 android java-8

为什么我们在Android Studio 3.0 RC1中出现此错误?

 com.android.dx.cf.code.SimException: 
default or static interface method used without --min-sdk-version >= 24
Run Code Online (Sandbox Code Playgroud)

根据android文档,"默认和静态接口方法"功能与任何 min-sdk版本兼容.

我将其跟踪到一个调用Comparator.naturalOrder()的java库- 它已经在API级别24中添加了.
所以我不希望在java库中对此代码有任何错误消息.

当我在我自己的android-app或lib java代码中使用代码时,我看到正确的lint消息:"Call需要API级别24"

错误消息是错误的还是我错过了什么?

TmT*_*ron 28

我刚刚发现,当我激活D8 dexer时,它会按预期工作,D8 dexer计划成为Android Studio 3.1的默认设置

在项目中gradle.properties,添加:

android.enableD8=true
Run Code Online (Sandbox Code Playgroud)

现在代码按预期编译,我仍然得到预期的linter消息.

  • [已知问题](https://issuetracker.google.com/issues/64740479)已修复 (2认同)