लगता है कि यहाँ गलत जानकारी पोस्ट की गई है। कुछ लोग एंड्रॉइड बिल्डर कैश (कार्य के साथ cleanBuildCache
) को साफ़ करने के बारे में रिपोर्ट करते हैं, लेकिन यह महसूस नहीं करते हैं कि उक्त कैश ग्रैड के बिल्ड कैश, AFAIK से स्वतंत्र है।
मेरी समझ यह है कि एंड्रॉइड का कैश ग्रैडल्स से पहले (और प्रेरित) है, लेकिन मैं गलत हो सकता है। क्या एंड्रॉइड बिल्डर को ग्रैडल के कैश का उपयोग करने के लिए अपडेट किया गया था या अपने स्वयं के रिटायर किया गया था, मुझे नहीं पता।
EDIT: एंड्रॉइड बिल्डर कैश अप्रचलित है और इसे समाप्त कर दिया गया है। एंड्रॉइड ग्रैडल प्लगइन अब ग्रैड के बिल्ड कैश का उपयोग करता है। इस कैश को नियंत्रित करने के लिए अब आपको ग्रैडल के जेनेरिक कैश इन्फ्रास्ट्रक्चर के साथ बातचीत करनी चाहिए।
TIP: वर्तमान में प्रासंगिक कैश के लिए सहायता प्राप्त करने के लिए कीवर्ड 'एंड्रॉइड' का उल्लेख किए बिना ग्रैडल के कैश की ऑनलाइन मदद करें।
EDIT 2: नीचे एक टिप्पणी में tir38 के प्रश्न के कारण, मैं एक एंड्रॉइड ग्रैडल प्लगइन v3.4.2 परियोजना का उपयोग करके परीक्षण कर रहा हूं। में वर्गीकृत कैश सक्षम किया org.gradle.caching=true
गया है gradle.properties
। मैं एक दो बार करता हूं clean build
और दूसरी बार अधिकांश कार्य FROM-CACHE
अपनी स्थिति के रूप में दिखाते हैं , यह दिखाते हैं कि कैश काम कर रहा है।
आश्चर्यजनक रूप से, मेरे पास एक cleanBuildCache
असेंबल कार्य और एक <user-home>/.android/build-cache/3.4.2/
निर्देशिका है, दोनों एक एंड्रॉइड बिल्डर कैश के अस्तित्व को इंगित करते हैं।
मैं निष्पादित करता हूं cleanBuildCache
और 3.4.2/
निर्देशिका चली गई है। अगले मैं एक और करूँ clean build
:
- कुछ भी नहीं बदला: अधिकांश कार्य
FROM-CACHE
उनकी स्थिति और कैश-सक्षम गति से पूर्ण निर्माण के रूप में दिखाई देते हैं।
3.4.2/
निर्देशिका निर्मित किया गया है।
3.4.2/
निर्देशिका खाली है (2 के लिए छिपा हुआ, शून्य लम्बाई मार्कर फ़ाइलों को बचाने)।
निष्कर्ष:
- सभी सामान्य एंड्रॉइड बिल्डर कार्यों का कैशिंग ग्रेडल द्वारा संभाला जाता है।
- निष्पादन
cleanBuildCache
किसी भी तरह से बिल्ड कैश को स्पष्ट या प्रभावित नहीं करता है।
- वहाँ अभी भी एक Android बिल्डर कैश है। यह वेस्टीजियल कोड हो सकता है जिसे एंड्रॉइड बिल्ड टीम हटाने के लिए भूल गई, या यह वास्तव में कुछ अजीब कैश कर सकता है जो कि किसी भी कारण से ग्रेडल कैश का उपयोग करने के लिए पोर्ट नहीं किया गया है या नहीं किया जा सकता है। ('नहीं' विकल्प अत्यधिक कामचलाऊ हो सकता है, IMHO।)
अगला, मैं org.gradle.caching=true
से निकालकर ग्रेडल कैश को निष्क्रिय कर देता gradle.properties
हूं और मैं एक दो को आज़माता हूं clean build
:
- बिल्ड धीमी हैं।
- सभी कार्य निष्पादित किए जाने और न ही कैश्ड या अप टू डेट होने के रूप में अपनी स्थिति दिखाते हैं।
3.4.2/
निर्देशिका खाली होना जारी है।
अधिक निष्कर्ष:
- जब ग्रैडल कैश हिट करने में विफल रहता है तो उसके लिए कोई एंड्रॉइड बिल्डर कैशबैक नहीं है।
- कम से कम सामान्य कार्यों के लिए एंड्रॉइड बिल्डर कैश, वास्तव में समाप्त हो गया है जैसा कि मैंने पहले कहा था।
- प्रासंगिक एंड्रॉइड डॉक्टर में पुरानी जानकारी होती है। विशेष रूप से कैश को डिफ़ॉल्ट रूप से सक्षम नहीं किया गया है, और ग्रैडल कैश को मैन्युअल रूप से सक्षम करना होगा।
EDIT 3: उपयोगकर्ता tir38 ने पुष्टि की कि एंड्रॉइड बिल्डर कैश अप्रचलित है और इसे इस खोज के साथ समाप्त कर दिया गया है । tir38 ने भी इसे मुद्दा बनाया । धन्यवाद!
Compiler -> Gradle
को नहीं करने के लिए बदल दिया हैUse in-process build
। कैश के साथ कुछ नहीं करना है