Saya memutakhirkan ke android studio 3.1 dan saya mendapatkan kesalahan berikut:
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)}
di sini adalah konfigurasi gradle saya:
compileSdkVersion 27
//buildToolsVersion '27.0.3'
defaultConfig {
minSdkVersion 16
targetSdkVersion 27
multiDexEnabled true
//...
}
Seperti yang Anda lihat, saya menargetkan 27 yang sudah di depan 24 yang mengeluh tentang. Apa sebenarnya yang harus saya lakukan untuk memperbaikinya? Jika saya mengubah ke 1.8 java, tidak akankah saya kehilangan banyak pelanggan? Mengapa saya tidak mendapatkan kesalahan ini sebelum saya memutakhirkan android studio?
Saya tidak tahu apakah ini tentang kelas LifecycleObserver saya baru-baru ini dimasukkan, itu di kotlin dan sekarang saya mengubahnya ke java tetapi masih mendapatkan kesalahan yang sama setelah proyek pembersihan:
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);
}
}
Bagaimana cara melacak dari mana kesalahan itu berasal sehingga saya bisa memperbaikinya?
inilah dependensi versi saya:
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
. "Apa sebenarnya yang harus saya lakukan untuk memperbaikinya?" - coba kompilasi dengan kompatibilitas Java 8 diaktifkan . "Jika saya berubah menjadi 1,8 java, apakah saya akan kehilangan banyak pelanggan?" - bukan untuk metode antarmuka standar yang dikeluhkan pesan kesalahan. "mengapa saya tidak mendapatkan kesalahan ini sebelum saya memutakhirkan studio android." - mungkin ketergantungan implisit (misalnya, pengikatan data).