java - API 级别低于 24 时不支持默认方法 boolean methodname()

标签 java android android-gradle-plugin android-7.0-nougat

我已将 java 编译版本更改为 1_8。

  defaultConfig {
    jackOptions {
        enabled true
    }
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
 }

之后我运行了我的项目,收到以下错误,不知道该怎么办?

        Error:Default method boolean test(java.lang.Object null) not supported in Android API level less than 24
        Error:Default method void forEach(java.util.function.Consumer null) not supported in Android API level less than 24
        Error:Static method void com_google_common_collect_Multiset_lambda$forEachEntry$0(java.util.function.ObjIntConsumer null, com.google.common.collect.Multiset$Entry null) not supported in Android API level less than 24
        Error:Default method void forEach(java.util.function.BiConsumer null) not supported in Android API level less than 24
        Error:Default method void addAll(java.lang.Iterable null) not supported in Android API level less than 24
        Error:Default method boolean enclosesAll(java.lang.Iterable null) not supported in Android API level less than 24
        Error:com.android.jack.JackAbortException
        Warning:Exception while processing task java.io.IOException: com.android.jack.api.v01.CompilationException
        Error:Execution failed for task ':MyApp:compileDebugJavaWithJack'.
        > java.io.IOException: com.android.jack.api.v01.CompilationException

有人可以帮我解决这个问题吗?

最佳答案

Jack-编译器已弃用,不应使用。如果您使用 Android Studio 3.0,则只需切换到新的 desugar 功能,该功能支持 Java 8 功能,例如适用于任何 minSdkVersiondefault 方法。

此处描述了desugar的功能以及如何从Jack切换到当前解决方案:

Use Java 8 Language Features

关于java - API 级别低于 24 时不支持默认方法 boolean methodname(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47407142/

相关文章:

java - Spring MVC 文件上传 - 客户端发送的请求在语法上不正确

java - 如何在不需要主键的情况下通过 JPA 持久化数据

android - Android 中的 RecyclerView -- set view gone 没用

Android studio (Gradle) 不创建签名的 apk

android - 断点在 Android Studio 中没有被击中

Java线程,保持相同数量的线程运行

java - 清空 JTabbedPane

java - Logo 未显示在操作栏上

Android 10 (Q) Fragment with RecyclerView transition shared element view 卡在固定位置

android - Firebase 性能监视器导致 "D8: Unsupported source file type"