मैंने एंड्रॉइड स्टूडियो 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)}
यहाँ मेरा विन्यास विन्यास है:
compileSdkVersion 27
//buildToolsVersion '27.0.3'
defaultConfig {
minSdkVersion 16
targetSdkVersion 27
multiDexEnabled true
//...
}
जैसा कि आप देख सकते हैं, मैं 27 को लक्षित कर रहा हूं जो पहले से ही 24 से आगे है कि इसकी शिकायत है। इसे ठीक करने के लिए मुझे क्या करना चाहिए? अगर मैं 1.8 जावा में बदल जाऊं, तो क्या मुझे बहुत सारे ग्राहक नहीं मिलेंगे? एंड्रॉइड स्टूडियो को अपग्रेड करने से पहले मुझे यह त्रुटि क्यों नहीं मिल रही थी?
मुझे नहीं पता कि यह हाल ही में मेरे द्वारा लगाई गई लाइफ़साइकल ऑबजर्वर क्लास के बारे में है, यह कोटलिन में था और अब मैंने इसे जावा में बदल दिया, लेकिन अभी भी प्रोजेक्ट को साफ करने के बाद वही त्रुटि मिलती है:
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
। "इसे ठीक करने के लिए मुझे क्या करना चाहिए?" - जावा 8 संगतता सक्षम करने के साथ संकलन का प्रयास करें । "अगर मैं 1.8 जावा में बदल जाऊं तो मुझे ग्राहकों की कमी नहीं होगी?" - डिफ़ॉल्ट इंटरफ़ेस विधियों के लिए नहीं जो त्रुटि संदेश के बारे में शिकायत कर रहा है। "एंड्रॉइड स्टूडियो को अपग्रेड करने से पहले मुझे यह त्रुटि क्यों नहीं मिली।" - शायद एक अंतर्निहित निर्भरता (जैसे, डेटा बाइंडिंग)।