Progruard और R8 को पदावनत किया जा रहा है - Android Studio 3.6


9

मैं अपने एंड्रॉइड स्टूडियो को 3.6 में अपग्रेड करने के बाद प्रोगार्ड के साथ-साथ आर 8 के संबंध में भी अवगत चेतावनी प्राप्त कर रहा हूं। इसका मतलब यह है कि हमें अपनी परियोजनाओं में उपयोग नहीं करना चाहिए या क्या कोई अन्य समकक्ष विकल्प है जिसे हमें रिलीज़ मोड में निर्माण करते समय विचार करना चाहिए?

विकल्प 'android.enableR8' पदावनत है और अब इसका उपयोग नहीं किया जाना चाहिए। इसे एंड्रॉइड ग्रैगल प्लगइन के भविष्य के संस्करण में हटा दिया जाएगा, और अब आपको R8 को अक्षम करने की अनुमति नहीं देगा। प्रभावित मॉड्यूल: आदि


क्या आप कृपया उन संदेशों को साझा कर सकते हैं जो आपको मिल रहे हैं?
एंटन बारेंको

क्या आप इस संदर्भ में "पदावनत चेतावनियों" से स्पष्ट कर सकते हैं? चेतावनियों का वास्तविक पाठ मदद कर सकता है।
पीटर टेफट

मुझे सटीक संदेश याद नहीं है, लेकिन यह कहा कि यह पदावनत किया जा रहा है। साइड नोट: मैं यह उन्नयन के बाद एंड्रॉयड स्टूडियो 3.6 मिल गया है
Rixment

उत्तर पाने के लिए आपको पूर्ण, सटीक चेतावनी संदेश पोस्ट करना चाहिए । उदाहरण के लिए, useProGuardसेटिंग को कुछ समय पहले हटा दिया गया है - शायद यही वह है जो आपने देखा था और आप इसे गलत बता रहे हैं।
माइकल

मैं इस हफ्ते R8 में जा रहा हूं और useProGuardअपने
ग्रेड

जवाबों:


7

इसका मतलब है कि हमें अपनी परियोजनाओं में उपयोग नहीं करना चाहिए

नहीं। आप ऑबफ्यूजन और ऑप्टिमाइज़ेशन टूलिंग का उपयोग कर सकते हैं।

क्या कोई अन्य समकक्ष विकल्प है जिसे हमें रिलीज़ मोड में बनाते समय विचार करना चाहिए

यदि आपके पास android.enableR8 = trueहै gradle.properties, तो इसे R8 के रूप में हटा दें यह डिफ़ॉल्ट टूलींग है और android.enableR8सेटिंग खुद ही पदावनत हो जाती है, जिससे ये अपवर्तन चेतावनी होती है।

यदि आपको android.enableR8 = falseअनुकूलन और आपत्ति के लिए प्रोगार्ड का उपयोग करना है, तो इसके बजाय R8 पर माइग्रेट करने पर विचार करें।


परियोजना को कैसे प्रभावी बनाया जाए? मैंने दी गई सभी संपत्तियों को हटा दिया और कहा कि बिल्ड.ग्रेड से R8 की निर्भरता को हटा दें और मैं अब परियोजना को संकलित नहीं कर सकता, मुझे R8NullPointerException मिलता है?
लीना ब्रू

यहाँ टिप्पणी अनुभाग के दायरे से परे कुछ दिखता है।
laalto

@ सलाम मुझे आपके जवाब से जो मिला है वह यह है कि R8 अपने आप काम करेगा ताकि जोड़ने की जरूरत न पड़े android.enableR8 = true, है ना?
मोहम्मद

@ मोहम्मद यह मेरी समझ है, बशर्ते कि आपके पास एंड्रॉइड ग्रैडल प्लगइन 3.6 या नया हो।
लालाटो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.