Android Studio 3.1 在没有 --min-sdk-version >= 24 的情况下使用默认或静态接口(interface)方法

标签 android android-studio android-architecture-components

我最近将我的 Android Studio 更新到 3.1,但我开始收到此错误:

Default interface methods are only supported starting with Android N (--min-api 24): void android.arch.lifecycle.DefaultLifecycleObserver.a(android.arch.lifecycle.h) Message{kind=ERROR, text=Default interface methods are only supported starting with Android N (--min-api 24): void android.arch.lifecycle.DefaultLifecycleObserver.a(android.arch.lifecycle.h), sources=[Unknown source file], tool name=Optional.of(D8)}

这是我的应用 build.gradle 文件内容:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
compileSdkVersion 27
    defaultConfig {
        applicationId "com.sample"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 11
        versionName "2.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

        multiDexEnabled true
    }

我还在使用以下 Android 架构组件:

implementation "android.arch.lifecycle:extensions:1.1.1"
implementation "android.arch.lifecycle:common-java8:1.1.1"
implementation "android.arch.persistence.room:runtime:1.0.0"
implementation "android.arch.persistence.room:rxjava2:1.0.0"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0"

除此之外,我还在使用 Gradle 构建工具版本 3.1.0,Gradle 版本是 4.4

在对类似问题进行了一些搜索之后,我也在项目 gradle.properties 中尝试了这个没有运气:

android.enableD8=true

在 Android Studio 3.0 中一切正常,但是当我升级到 3.1 时,我开始收到这个错误。

最佳答案

我认为这可能是他们针对 Java 8 和 min-apis 的“特殊”实现的问题。 android.arch.lifecycle:common-java8:1.1.1

试试“普通”annotationProcessor android.arch.lifecycle:compiler:1.1.1

我知道这不一样,但它可能会暴露一个错误或库的限制。或者您的 grade 文件可能有一些旧选项?

我最初的建议是创建一个具有相同依赖项的 EMPTY 项目,看看是否可以让它在那里工作。

如有需要,向 issues.google.com 报告会更容易。

来源:https://developer.android.com/topic/libraries/architecture/adding-components.html

关于Android Studio 3.1 在没有 --min-sdk-version >= 24 的情况下使用默认或静态接口(interface)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49615867/

相关文章:

java - Android SIP 注册失败 (-9 IN_PROGRESS)

java - 有适用于 Android 的键盘小部件吗?

java - 解决 java.util.function.Function 的类文件未找到

android - 如何在存储库类MVVM中使用Firebase身份验证监听器?

android - TextInputLayout 密码切换监听器

android - 订阅示例缺少 purchaseToken 的 JSON 解析

Android Studio 2.3 启动多个模拟器

android - 带有 Android Room 的可重用通用基类 DAO

android-databinding - 使用 ViewModel 和 DataBinding 更新 UI

java - SharedPreferences 不保存 boolean 值