Android Studio 3.1默认或静态接口方法,不使用--min-sdk-version> = 24

cod*_*ner 6 android android-studio android-architecture-components

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

默认接口方法仅从Android N开始支持(--min-api 24):void android.arch.lifecycle.DefaultLifecycleObserver.a(android.arch.lifecycle.h)消息{kind = ERROR,text =默认接口方法是仅支持从Android N(--min-api 24)开始:void android.arch.lifecycle.DefaultLifecycleObserver.a(android.arch.lifecycle.h),sources = [未知源文件],工具名称= Optional.of( D8)}

这是我的app 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
    }
Run Code Online (Sandbox Code Playgroud)

我还使用以下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"
Run Code Online (Sandbox Code Playgroud)

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

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

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

在Android Studio 3.0中一切正常,但是一旦我升级到3.1,我就开始收到此错误.

Mar*_*ini 2

我认为这可能是他们的 Java 8 和 min-apis 的 \xe2\x80\x9cspecial\xe2\x80\x9d 实现的问题。android.arch.lifecycle:common-java8:1.1.1

\n\n

尝试 \xe2\x80\x9cnormal\xe2\x80\x9d 注释处理器android.arch.lifecycle:compiler:1.1.1

\n\n

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

\n\n

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

\n\n

如果需要,这将使向 issues.google.com 报告变得更加容易。

\n\n

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

\n