Android Studio में निर्माण और निर्माण के बीच अंतर


134

एंड्रॉइड स्टूडियो बिल्ड मेनू में विकल्प शामिल हैं

Make Project
Rebuild Project

मुझे प्रत्येक का उपयोग कब करना चाहिए?


25
आप एक और भ्रामक विकल्प भूल गए: स्वच्छ परियोजना।
स्कॉट बिग्स

जवाबों:


132

अधिकांश समय आपको मेक प्रोजेक्ट का उपयोग करना चाहिए । कभी-कभी पुस्तकालयों को जोड़ने और परियोजना में बड़े बदलाव करने के बाद, आपको पुनर्निर्माण परियोजना का उपयोग करना चाहिए ।

यदि आप मेनू को देखते हैं, तो आप देखेंगे कि मेक प्रोजेक्ट और संकलन में कीबोर्ड शॉर्टकट हैं, जो बताता है कि वे अक्सर उपयोग किए जाते हैं। दूसरों को शायद ही कभी इस्तेमाल किया जाता है।

यह इंटेलीज आइडिया जैसा ही है।

संकलित करें निर्दिष्ट दायरे में सभी स्रोत फ़ाइलें संकलित हैं। इस मामले में गुंजाइश एक फ़ाइल, पैकेज आदि हो सकती है।

प्रोजेक्ट बनाएं संपूर्ण प्रोजेक्ट में सभी स्रोत फ़ाइलें जो पिछले संकलन संकलित होने के बाद से संशोधित की गई हैं। आश्रित स्रोत फाइलें, यदि उचित हो, संकलित भी हैं। इसके अतिरिक्त, संशोधित स्रोतों पर संकलन या प्रक्रिया से जुड़े कार्यों का प्रदर्शन किया जाता है। उदाहरण के लिए, EJB सत्यापन किया जाता है यदि संबंधित विकल्प सत्यापन पृष्ठ पर सक्षम है।

मॉड्यूल को संकलित करें वे सभी स्रोत फाइलें हैं जिन्हें चयनित मॉड्यूल में अंतिम संकलन के साथ-साथ उन सभी मॉड्यूल में भी संशोधित किया गया है जो पुनरावर्ती पर निर्भर करता है।

प्रोजेक्ट का पुनर्निर्माण करें प्रोजेक्ट में सभी स्रोत फ़ाइलें recompiled हैं। यह तब आवश्यक हो सकता है जब क्लासपैथ प्रविष्टियां बदल गई हों, उदाहरण के लिए, एसडीके या लाइब्रेरीज़ को जोड़ा, हटाया या बदला गया

इंटेलीज आइडिया 13 मदद से नकल की गई ।


धन्यवाद। मैंने jetbrains.com/idea/webhelp पर खोज फ़ंक्शन का उपयोग किया, लेकिन एक उपयोगी उत्तर के पास कहीं भी जाने में विफल रहा
cja

6
मैं अभी भी नहीं देखता कि कब कौन सा उपयोग करना है।
कुनो

1
@Kuno - केवल उन फाइलों को संकलित करने के लिए मेक प्रोजेक्ट का उपयोग करें जिनके स्रोत कोड को बदल दिया गया है। उपयोग परियोजना के पुनर्निर्माण सभी स्रोत फ़ाइलें संकलन (पर ध्यान दिए बिना कि क्या वे बदल गया है या नहीं किया है)
नंदा

1
यह एक जवाब नहीं है क्योंकि एंड्रॉइड स्टूडियो प्रोजेक्ट्स को जिस तरह से संकलित किया गया है वह ग्रेडल के माध्यम से है। एक सही उत्तर में कहा जाएगा कि अंतर स्तर पर क्या अंतर हैं।
मिगेल

55

अंतर यह है कि पुनर्निर्माण पहले ग्रेड के स्वच्छ कार्य को निष्पादित करता है। अगर आप ग्रैडल कंसोल में देखें तो 'रीबिल्ड प्रोजेक्ट' कुछ ऐसा कहेगा

Executing tasks: [clean, :app:compileDebugSources, :app:compileDebugAndroidTestSources]

जबकि 'मेक प्रोजेक्ट' नहीं होगा clean

Executing tasks: [:app:compileDebugSources, :app:compileDebugAndroidTestSources]

मुझे लगता है कि यह स्वीकृत उत्तर होना चाहिए। लेकिन मुझे Executing tasks: [:app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:compileDebugSources, :app:compileDebugAndroidTestSources, :app:compileDebugUnitTestSources]
ग्रेड

हर बार जब मैं Make Projectएक आंतरिक आवाज मारता हूं तो मुझे Rebuild Projectयकीन है कि हिट करने के लिए कहता है।
iCCC

0

मेक और पुनर्निर्माण में अंतर "स्वच्छ" कार्य है।

जब आप प्रोजेक्ट का पुनर्निर्माण करते हैं तो यह साफ भी करता है।

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