android studio error:默认接口方法仅支持从Android N开始(--min-api 24) [英] android studio error: Default interface methods are only supported starting with 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屋!