android studio error:默认接口方法仅支持从Android N开始(--min-api 24) [英] android studio error: Default interface methods are only supported starting with Android N (--min-api 24)

查看:528
本文介绍了android studio error:默认接口方法仅支持从Android N开始(--min-api 24)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我升级到android studio 3.1并且我得到以下错误:

 默认接口方法仅支持从Android N开始(--min-api 24):void android.arch.lifecycle.DefaultLifecycleObserver.onCreate(android.arch.lifecycle.LifecycleOwner)
消息{kind = ERROR,text =默认接口方法仅支持从Android N开始(--min-api 24):void android.arch.lifecycle.DefaultLifecycleObserver.onCreate(android.arch.lifecycle.LifecycleOwner),sources = [Unknown source file],tool name = Optional.of(D8)}



<这是我的gradle配置:

  compileSdkVersion 27 
// buildToolsVersion '27 .0.3'
defaultConfig {
minSdkVersion 16
targetSdkVersion 27
multiDexEnabled true
// ...
}

你可以看到我的目标是27已经是在它抱怨的24之前?我该怎么做才能解决这个问题?如果我改为1.8 java,我会失去很多客户吗?为什么我在升级android studio之前没有收到此错误。



我不知道这是关于我最近投入的LifecycleObserver类,它是在kotlin中,现在我把它更改为java但是在清理后仍然得到相同的错误project:

  public class LifeCycleAwareObserver实现LifecycleObserver {

@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
public void onAppBackgrounded(){
AnalyticsUtils.trackStartSession(true);
}

@OnLifecycleEvent(Lifecycle.Event.ON_START)
public void onAppForegrounded(){
AnalyticsUtils.trackStartSession(false);
}

}



如何追踪错误的来源,以便我可以修复它?



这是我的版本依赖项:

  project.ext {


firebase_version = '12 .0.0'

supportlib_version = '27 .0.2'

room_version ='1.0.0'

espresso_version ='3.0.1'

archLifecycleVersion ='1.1.1'
}


解决方案

如CommonsWare所述,作为参考,在<$你可以在build.gradle中使用c $ c> android {...} 关闭来解决问题:

  android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
...
}


i upgraded to android studio 3.1 and im getting the following error:

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

here is my gradle config:

      compileSdkVersion 27
//buildToolsVersion '27.0.3'
defaultConfig {
    minSdkVersion 16
    targetSdkVersion 27
     multiDexEnabled true
     //...
   }

as you can see i am targetting 27 which is already ahead of 24 that its complaining about ? What exactly should i do to fix this ? if i change to 1.8 java wont i be missing alot of customers ? why was i not getting this error before i upgraded android studio.

i do not know if this is about the LifecycleObserver class i recently put in, it was in kotlin and now i changed it to java but still get the same error after cleaning project:

public class LifeCycleAwareObserver implements LifecycleObserver {

@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
public void  onAppBackgrounded() {
    AnalyticsUtils.trackStartSession(true);
}

@OnLifecycleEvent(Lifecycle.Event.ON_START)
public void onAppForegrounded() {
    AnalyticsUtils.trackStartSession(false);
}

}

how to trace where the error is coming from so i can fix it ?

here are my my version dependencies:

project.ext {


        firebase_version = '12.0.0'

        supportlib_version = '27.0.2'

        room_version = '1.0.0'

        espresso_version = '3.0.1'

        archLifecycleVersion = '1.1.1'
    }

解决方案

as CommonsWare mentioned, for reference add this inside the android {...} closure in the build.gradle for your app module to resolve issue:

android {
...
  compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
...
}

这篇关于android studio error:默认接口方法仅支持从Android N开始(--min-api 24)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆