एंड्रॉइड स्टूडियो 3.2.1 में ग्रैडल बिल्ड स्पीड
कभी ऐसा महसूस होता है कि आप मिनटों के लिए एंड्रॉइड स्टूडियो में पूरा होने का इंतजार कर रहे हैं? मैं भी। और यह बहुत कष्टप्रद है। सौभाग्य से, वहाँ कुछ तरीके हैं जो आप इसे सुधारने के लिए उपयोग कर सकते हैं। एंड्रॉइड बिल्डिंग के लिए ग्रेड का उपयोग करता है। नवीनतम संस्करण 4.6 में पिछले संस्करणों की तुलना में बहुत बड़ा प्रदर्शन है (विवरण के लिए रिलीज़ नोट देखें)।
चरण 1: ग्रेड संस्करण को अपडेट करें इसे पूरा करने का एक आसान तरीका यह है: इसके लिए मॉड्यूल सेटिंग्स खोलें (आपकी परियोजना)> परियोजना संरचना
अपडेट करें
ग्रैडल संस्करण में बदलें : 4.6
और एंड्रॉइड प्लगइन संस्करण में बदलें : 3.2.1
डाउनलोड ग्रेडल रिलीज वितरण https://services.gradle.org/distributions/gradle-4.6-all.zip से करें
और इसे ग्रेड फ़ोल्डर में कॉपी करें :
अंतिम चरण सेटिंग> ग्रेडल में अपने डिस्क्रिब्यूशन को जोड़ना है
परिवर्तनों को सहेजने के लिए लागू करें पर क्लिक करना न भूलें।
चरण 2: ऑफ़लाइन मोड सक्षम करें, प्रोजेक्ट के लिए ग्रेडल डेमॉन और समानांतर बिल्ड ऑफ़लाइन मोड अपडेट को अद्यतन चेक को अनदेखा करने के लिए ग्रेडल को बताता है। ग्रैडल हर समय निर्भरता के लिए पूछता है और इस विकल्प के होने से यह निर्भरता के लिए मशीन पर पहले से ही उपयोग करता है। एंड्रॉइड स्टूडियो सेटिंग से ग्रैडल पर जाएं और ऑफ़लाइन काम बॉक्स में क्लिक करें।
- एंड्रॉइड स्टूडियो सेटिंग से कंपाइलर पर जाएं और कमांड लाइन बॉक्स में "ऑफ़लाइन" जोड़ें और समानांतर में कंपाइल स्वतंत्र मॉड्यूल पर क्लिक करें।
अगला कदम ग्रेडल डेमॉन को सक्षम करना और अपनी परियोजना के लिए समानांतर निर्माण करना है। समानांतर बिल्ड आपके प्रोजेक्ट्स को कई मॉड्यूल (ग्रेड में मल्टी-प्रोजेक्ट बिल्ड) के साथ समानांतर में बनाए जाएंगे, जिससे बड़ी या मॉड्यूलर परियोजनाएं तेजी से बननी चाहिए।
ये सेटिंग्स ग्रैड स्क्रिप्ट निर्देशिका (यानी, ~ .gradle / gradle.properties) में gradle.properties नामक एक फ़ाइल को संशोधित करके सक्षम की जा सकती हैं। इनमें से कुछ विकल्प (जैसे समानांतर में Complie मॉड्यूल) एंड्रॉइड स्टूडियो से उपलब्ध हैं और वहां भी सक्षम हैं। डिफ़ॉल्ट, लेकिन उन्हें gradle.properties फ़ाइल में डालने से वे टर्मिनल से निर्माण करते समय सक्षम होंगे और यह भी सुनिश्चित करेंगे कि आपके सहयोगी समान सेटिंग्स का उपयोग करेंगे। लेकिन अगर आप एक टीम पर काम कर रहे हैं, तो कभी-कभी आप यह सामान नहीं कर सकते।
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit org.gradle.parallel=true
# When set to true the Gradle daemon is used to run the build. For local developer builds this is our favorite property.
# The developer environment is optimized for speed and feedback so we nearly always run Gradle jobs with the daemon.
org.gradle.daemon=true
डेमॉन का उपयोग करने से आपका बिल्डअप तेजी से शुरू होगा क्योंकि इसे हर बार पूरे ग्रेडेल एप्लिकेशन को शुरू नहीं करना पड़ेगा। ग्रैडल डेमन डिफ़ॉल्ट रूप से सक्षम नहीं है, लेकिन यह हमेशा डेवलपर्स की मशीनों के लिए इसे सक्षम करने की सलाह देता है (लेकिन इसे निरंतर एकीकरण सर्वर के लिए अक्षम कर देता है)। इस मोड के बारे में अक्सर पूछे जाने वाले प्रश्न यहां https://docs.gradle.org/current/userguide/gradle_daemon.html पर देखे जा सकते हैं । कुछ प्रोजेक्ट्स के लिए समानांतर बिल्ड सेटिंग असुरक्षित हो सकती है। आवश्यकता इस बात की है कि आपके सभी मॉड्यूल्स को डिकॉय किया जाना चाहिए या आपका निर्माण विफल हो सकता है (देखें http://gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects )।
चरण 3: वृद्धिशील डेक्सिग्न और ट्विक मेमोरी सेटिंग्स सक्षम करें आप वृद्धिशील विकेंद्रीकरण को चालू करके अपने निर्माण को गति दे सकते हैं। आपके मॉड्यूल की बिल्ड फ़ाइल में:
इस विकल्प को अपने Android ब्लॉक में जोड़ें:
dexOptions {
incremental true
}
उस dexOptions ब्लॉक में आप dex प्रक्रिया के लिए ढेर का आकार भी निर्दिष्ट कर सकते हैं, उदाहरण के लिए:
dexOptions {
incremental true
javaMaxHeapSize "12g"
}
जहाँ "12g" 12GB मेमोरी है। इसके बारे में अतिरिक्त जानकारी यहाँ मिल सकती है। google.github.io/android-gradle-dsl/current/ आप सेटिंग फ़ाइल में ग्रेड मापदंडों को भी कॉन्फ़िगर कर सकते हैं, उदाहरण के लिए यदि आपके पास कोई बड़ी परियोजना है तो अधिकतम हीप आकार बढ़ाएँ:
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
सभी मापदंडों की सूची यहां देखें: https://docs.gradle.org/current/userguide/userguide_single.html#sec:gradle_configuration_properties विवरण के लिए।
चरण 4: एंटीवायरस को अक्षम करें प्रोजेक्ट और कैश फ़ाइलों को एंटीवायरस स्कैनिंग से बाहर करने पर विचार करें। यह स्पष्ट रूप से सुरक्षा के साथ एक व्यापार है। लेकिन अगर आप शाखाओं के बीच स्विच करते हैं, तो एंटीवायरस फ़ाइलों को उपयोग करने की अनुमति देने से पहले फ़ाइलों को फिर से लिख देगा, जो निर्माण समय को धीमा कर देता है (विशेष रूप से एंड्रॉइड स्टूडियो सिंक प्रोजेक्ट में ग्रेड फ़ाइलों और अनुक्रमण कार्यों के साथ)। उपाय के साथ और बिना एंटीवायरस के सीपीयू का निर्माण समय और प्रक्रिया को देखने के लिए कि क्या यह संबंधित है सक्षम है। आशा है कि ये आपकी मदद करेगा। बिल्ड परफॉर्मेंस को बेहतर बनाने के लिए अगर आपके पास कोई सवाल है या कुछ अन्य टिप्स हैं तो एक टिप्पणी छोड़ दें।
उपयोगी लिंक