Android studio 3.1'e yükseltme yaptım ve aşağıdaki hatayı alıyorum:
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)}
İşte benim gradle yapılandırma:
compileSdkVersion 27
//buildToolsVersion '27.0.3'
defaultConfig {
minSdkVersion 16
targetSdkVersion 27
multiDexEnabled true
//...
}
Gördüğünüz gibi, zaten şikayetçi olduğu 24'ün üzerinde olan 27'yi hedefliyorum. Bunu düzeltmek için tam olarak ne yapmalıyım? 1.8 java olarak değiştirirsem, çok fazla müşterimi kaçırmayacak mıyım? Android stüdyosunu yükseltmeden önce neden bu hatayı almadım?
Bunun son zamanlarda koyduğum LifecycleObserver sınıfı ile ilgili olup olmadığını bilmiyorum, kotlin'deydi ve şimdi java olarak değiştirdim, ancak projeyi temizledikten sonra hala aynı hatayı alıyorum:
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);
}
}
Düzeltmek için hatanın nereden geldiğini nasıl izleyebilirim?
İşte benim sürüm bağımlılıkları:
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
. "Bunu düzeltmek için tam olarak ne yapmalıyım?" - Java 8 uyumluluğu etkinken derlemeyi deneyin . "1.8 java değiştirirsem çok fazla müşteri kaçırmayacak mıyım?" - Hata mesajının şikayet ettiği varsayılan arayüz yöntemleri için değil. "Neden ben android studio yükseltmeden önce bu hatayı alamadım." - belki de örtük bir bağımlılık (örneğin, veri bağlama).