android studio 3.1로 업그레이드했는데 다음 오류가 발생합니다.
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)}
여기 내 gradle 구성이 있습니다.
compileSdkVersion 27
//buildToolsVersion '27.0.3'
defaultConfig {
minSdkVersion 16
targetSdkVersion 27
multiDexEnabled true
//...
}
보시다시피, 나는 이미 불만을 제기하는 24보다 앞서 27을 타겟팅하고 있습니다. 이 문제를 해결하려면 어떻게해야합니까? 1.8 java로 변경하면 많은 고객이 누락되지 않습니까? android studio를 업그레이드하기 전에 왜이 오류가 발생하지 않았습니까?
이것이 최근에 넣은 LifecycleObserver 클래스에 관한 것인지 알 수 없으며 kotlin에 있었고 이제는 Java로 변경했지만 프로젝트를 청소 한 후에도 여전히 동일한 오류가 발생합니다.
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);
}
}
오류가 발생한 위치를 추적하여 수정하려면 어떻게해야합니까?
내 버전 종속성은 다음과 같습니다.
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'
}
targetSdkVersion
. "이 문제를 정확히 해결하려면 어떻게해야합니까?" -Java 8 호환성을 사용 하여 컴파일하십시오 . "1.8 Java로 변경하면 많은 고객이 누락되지 않습니까?" -오류 메시지가 불평하는 기본 인터페이스 방법이 아닙니다. "Android 스튜디오를 업그레이드하기 전에이 오류가 발생하지 않은 이유는 무엇입니까?"-암시 적 종속성 (예 : 데이터 바인딩)