प्रोजेक्ट की खास जानकारी

Android Studio के प्रोजेक्ट में वह सब कुछ होता है जो आपके कारोबार के बारे में सोर्स कोड और ऐसेट से लेकर कोड और बिल्ड की जांच तक, किसी ऐप्लिकेशन के लिए वर्कस्पेस कॉन्फ़िगरेशन.

नया प्रोजेक्ट शुरू करने पर, Android Studio ज़रूरी आपकी सभी फ़ाइलों के लिए स्ट्रक्चर तैयार करता है और उन्हें Android Studio में प्रोजेक्ट विंडो. विंडो खोलने के लिए, View > टूल की विंडो > प्रोजेक्ट.

यह पेज आपके प्रोजेक्ट के मुख्य कॉम्पोनेंट की खास जानकारी देता है.

मॉड्यूल

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

अपने कोड में कोड लाइब्रेरी बनाते समय अतिरिक्त मॉड्यूल काम के होते हैं या जब आपको अपने प्रोजेक्ट के लिए कोड और संसाधनों के अलग-अलग सेट बनाना हो जैसे कि फ़ोन और पहने जाने वाले डिवाइस, लेकिन सभी फ़ाइलें सेव रहती हैं एक ही प्रोजेक्ट के दायरे में आते हैं और कुछ कोड शेयर करते हैं.

अपने प्रोजेक्ट में एक नया मॉड्यूल जोड़ने के लिए, फ़ाइल पर क्लिक करें > नया > नया मॉड्यूल.

Android Studio में कुछ अलग तरह के मॉड्यूल उपलब्ध हैं:

Android ऐप्लिकेशन का मॉड्यूल
आपके ऐप्लिकेशन के ऐप्लिकेशन के लिए कंटेनर देता है और ऐप्लिकेशन-लेवल सेटिंग, जैसे कि मॉड्यूल-लेवल की बिल्ड फ़ाइल और Android मेनिफ़ेस्ट फ़ाइल का भी इस्तेमाल किया जा सकता है. टास्क कब शुरू होगा तो एक नया प्रोजेक्ट बनाते हैं, तो डिफ़ॉल्ट ऐप्लिकेशन मॉड्यूल का नाम "ऐप्लिकेशन" होता है.

Android Studio के ऑफ़र इस तरह के ऐप्लिकेशन मॉड्यूल उपलब्ध हैं:

  • फ़ोन और टैबलेट
  • Automotive
  • Wear OS
  • टेलीविज़न
  • बेसलाइन प्रोफ़ाइल जनरेटर
  • मानदंड

हर मॉड्यूल ऐसी ज़रूरी फ़ाइलें और कुछ कोड टेंप्लेट उपलब्ध कराता है जो यह ऐप्लिकेशन या डिवाइस टाइप के हिसाब से सही हो.

मॉड्यूल जोड़ने के बारे में ज़्यादा जानकारी के लिए, पढ़ें नए डिवाइस के लिए मॉड्यूल जोड़ें.

सुविधा वाला मॉड्यूल
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इसमें आपके ऐप्लिकेशन का मॉड्यूलर फ़ीचर मौजूद है, जो Play की सुविधा का फ़ायदा ले सकता है फ़ीचर डिलीवरी. उदाहरण के लिए, फ़ीचर मॉड्यूल की मदद से, अपने उपयोगकर्ताओं को अपने ऐप्लिकेशन की कुछ सुविधाओं को मांग पर या झटपट इस्तेमाल की सुविधा देने वाले Google Play इंस्टैंट.

Android Studio में इस तरह के सुविधा वाले मॉड्यूल उपलब्ध हैं:

  • डाइनैमिक फ़ीचर मॉड्यूल
  • इंस्टैंट डाइनैमिक फ़ीचर लाइब्रेरी मॉड्यूल

ज़्यादा जानने के लिए, Play Feature Delivery.

लाइब्रेरी मॉड्यूल
आपके फिर से इस्तेमाल किए जा सकने वाले कोड के लिए एक कंटेनर देता है, जिसे आप अन्य ऐप्लिकेशन मॉड्यूल में डिपेंडेंसी के तौर पर इस्तेमाल कर सकता है या किसी अन्य मॉड्यूल में इंपोर्ट कर सकता है प्रोजेक्ट. स्ट्रक्चर के तौर पर, लाइब्रेरी मॉड्यूल और ऐप्लिकेशन मॉड्यूल की तरह ही होता है. हालांकि, इन्हें बनाने पर, यह APK के बजाय एक कोड संग्रह फ़ाइल बनाता है. इसलिए, इसे डिवाइस.

नया मॉड्यूल बनाएं विंडो में, Android Studio नई सुविधाओं के साथ, इस तरह के लाइब्रेरी मॉड्यूल हैं:

  • Android लाइब्रेरी: इसमें काम करने वाले सभी फ़ाइल टाइप शामिल हैं नेटिव C++ कोड को छोड़कर किसी Android प्रोजेक्ट में, Java और Kotlin सोर्स कोड को छोड़कर, और मेनिफ़ेस्ट फ़ाइलों को डाउनलोड करने की सुविधा मिलती है. बिल्ड नतीजा एक Android संग्रह (AAR) फ़ाइल है, जिसे आप यह आपके Android ऐप्लिकेशन मॉड्यूल के लिए निर्भर करता है.
  • Android नेटिव लाइब्रेरी: इसमें काम करने वाले सभी फ़ाइल टाइप शामिल हैं किसी Android प्रोजेक्ट में, Android लाइब्रेरी की तरह ही होता है. हालांकि, Android की नेटिव लाइब्रेरी में नेटिव C++ सोर्स कोड शामिल हो सकता है. बिल्ड नतीजा एक Android संग्रह (एएआर) फ़ाइल है, जिसे आप को अपने Android ऐप्लिकेशन मॉड्यूल के लिए डिपेंडेंसी के तौर पर जोड़ें.
  • Java या Kotlin लाइब्रेरी: इसमें सिर्फ़ Kotlin या Java सोर्स फ़ाइलें होती हैं. बिल्ड नतीजा एक Java संग्रह (JAR) फ़ाइल है जिसे आप आपके Android ऐप्लिकेशन मॉड्यूल या अन्यKotlin या Java प्रोजेक्ट के लिए डिपेंडेंसी.

मॉड्यूल को कभी-कभी सब-प्रोजेक्ट भी कहा जाता है, क्योंकि Gradle, मॉड्यूल का इस्तेमाल प्रोजेक्ट के तौर पर भी करता है.

जब कोई लाइब्रेरी मॉड्यूल बनाया जाता है और उसे अपनी डिपेंडेंसी के तौर पर जोड़ना होता है Android ऐप्लिकेशन मॉड्यूल के लिए उपलब्ध है, तो आपको इसकी जानकारी इस तरह देनी होगी:

ग्रूवी

dependencies {
    implementation project(':my-library-module')
}

Kotlin

dependencies {
    implementation(project(":my-library-module"))
}

प्रोजेक्ट फ़ाइलें

डिफ़ॉल्ट रूप से, Android Studio आपकी प्रोजेक्ट फ़ाइलें Android व्यू. इस व्यू में बदलाव नहीं आता डिस्क पर वास्तविक फ़ाइल पदानुक्रम. इसके बजाय, यह इस तरह से व्यवस्थित होता है: मॉड्यूल और फ़ाइल टाइप की मदद से, अपने प्रोजेक्ट की मुख्य सोर्स फ़ाइलों के बीच नेविगेशन को आसान बनाया जा सकता है. आम तौर पर इस्तेमाल नहीं की जाने वाली कुछ फ़ाइलें या डायरेक्ट्री.

Android व्यू और Android व्यू में ये शामिल हैं:

  • प्रोजेक्ट की बिल्ड से जुड़ी कॉन्फ़िगरेशन फ़ाइलों को टॉप लेवल में दिखाता है Gradle Script ग्रुप.
  • मॉड्यूल-लेवल के ग्रुप में हर मॉड्यूल के लिए सभी मेनिफ़ेस्ट फ़ाइलें तब दिखती हैं, जब अलग-अलग फ़्लेवर और बिल्ड टाइप के लिए अलग-अलग मेनिफ़ेस्ट फ़ाइलें हों.
  • किसी एक ग्रुप में सभी वैकल्पिक रिसॉर्स फ़ाइलें दिखाता है के बजाय, हर रिसॉर्स क्वालीफ़ायर के लिए अलग-अलग फ़ोल्डर में रखना चाहिए. उदाहरण के लिए, सभी सघनता आपके लॉन्चर आइकॉन के वर्शन साथ-साथ दिखते हैं.

हर Android ऐप्लिकेशन मॉड्यूल में, फ़ाइलें नीचे दिए गए ग्रुप में दिखती हैं:

मेनिफ़ेस्ट
AndroidManifest.xml फ़ाइल में शामिल है.
जावा
इसमें Kotlin और Java सोर्स कोड फ़ाइलें शामिल होती हैं, जिन्हें पैकेज के नाम से अलग किया जाता है, जिसमें JUnit टेस्ट कोड शामिल है.
रिज़ॉल्यूशन
इसमें बिना कोड वाले सभी रिसॉर्स शामिल होते हैं, जैसे कि यूज़र इंटरफ़ेस (यूआई) स्ट्रिंग और बिट मैप इमेज, जिन्हें संबंधित सबडायरेक्ट्री में बांटा जाता है. Reader Revenue Manager को सेट अप करने के बारे में संभावित संसाधनों के बारे में जानने के लिए, ऐप्लिकेशन के संसाधनों की खास जानकारी देखें.

प्रोजेक्ट व्यू

असल प्रोजेक्ट की फ़ाइल संरचना, जिसमें Android व्यू, मेन्यू से प्रोजेक्ट चुनें प्रोजेक्ट विंडो में सबसे ऊपर मौजूद होगा.

प्रोजेक्ट व्यू चुनने पर, आपको बहुत सारी फ़ाइलें दिख सकती हैं और डायरेक्ट्री, जिनमें ये शामिल हैं:

module-name/
build/
इसमें बिल्ड आउटपुट शामिल हैं.
libs/
इसमें निजी लाइब्रेरी मौजूद हैं.
src/
मॉड्यूल के लिए सभी कोड और संसाधन फ़ाइलें इसमें शामिल हैं सबडायरेक्ट्री:
androidTest/
इसमें Android डिवाइस पर चलने वाले इंस्ट्रुमेंटेशन टेस्ट का कोड शामिल होता है. ज़्यादा जानकारी के लिए, यह देखें Android Studio में जाकर आज़माएं.
cpp/
इसमें Java नेटिव इंटरफ़ेस (जेएनआई) का इस्तेमाल करने वाला नेटिव C या C++ कोड शामिल होता है. ज़्यादा जानकारी के लिए, यह देखें Android एनडीके (NDK) का दस्तावेज़.
main/
"मुख्य" शामिल है सोर्स सेट की फ़ाइलें: Android कोड और रिसॉर्स बिल्ड के सभी वैरिएंट के साथ शेयर किए जाने चाहिए (अन्य बिल्ड वैरिएंट वाली फ़ाइलें) सिबलिंग डायरेक्ट्री में होना चाहिए, जैसे कि src/debug/ डीबग बिल्ड टाइप):
AndroidManifest.xml
ऐप्लिकेशन के टाइप और उसके कॉम्पोनेंट के बारे में बताता है. ज़्यादा जानकारी के लिए, देखें ऐप्लिकेशन मेनिफ़ेस्ट समीक्षा करें.
java/
अगर आपके ऐप्लिकेशन में Kotlin और Java, दोनों हैं, तो इसमें Kotlin या Java कोड सोर्स या दोनों शामिल हैं सोर्स कोड.
kotlin/
सिर्फ़ Kotlin कोड सोर्स शामिल हैं.
res/
इसमें ऐप्लिकेशन के संसाधन शामिल होते हैं. जैसे, ड्रॉ करने लायक फ़ाइलें और यूज़र इंटरफ़ेस (यूआई) स्ट्रिंग फ़ाइलें. ज़्यादा के लिए जानकारी के लिए, ऐप्लिकेशन संसाधन की खास जानकारी देखें.
assets/
इसमें ऐसी फ़ाइलें शामिल होती हैं जिन्हें APK फ़ाइल में कंपाइल किया जाता है. उदाहरण के लिए, यह टेक्स्चर और गेम डेटा के लिए अच्छी जगह है. आप नेविगेट करने के लिए, इस डायरेक्ट्री को सामान्य फ़ाइल सिस्टम की तरह ही इस्तेमाल करें. इसके लिए, इसका इस्तेमाल करके, यूआरआई की मदद से फ़ाइलों को बाइट की स्ट्रीम के रूप में पढ़ा जाता है AssetManager.
test/
इसमें आपके होस्ट जेवीएम पर चलने वाले लोकल टेस्ट का कोड शामिल होता है.
build.gradle या build.gradle.kts (मॉड्यूल)
यह मॉड्यूल के हिसाब से बिल्ड कॉन्फ़िगरेशन के बारे में बताता है. build.gradle अगर आप अपनी बिल्ड स्क्रिप्ट भाषा के रूप में Groovy का इस्तेमाल कर रहे हैं, और यह सही फ़ाइल नाम है अगर Kotlin स्क्रिप्ट का इस्तेमाल किया जा रहा है, तो build.gradle.kts.
build.gradle या build.gradle.kts (प्रोजेक्ट)
यह आपके बिल्ड कॉन्फ़िगरेशन के बारे में बताता है, जो सभी मॉड्यूल पर लागू होता है. build.gradle है अगर आप अपनी बिल्ड स्क्रिप्ट भाषा के रूप में Groovy का इस्तेमाल कर रहे हैं और यह सही फ़ाइल नाम है अगर Kotlin स्क्रिप्ट का इस्तेमाल किया जा रहा है, तो build.gradle.kts. यह फ़ाइल इस प्रोजेक्ट का ज़रूरी हिस्सा है, इसलिए इसे बनाए रखें के साथ संशोधन नियंत्रण में है.

अन्य बिल्ड फ़ाइलों के बारे में जानकारी के लिए, देखें अपने बिल्ड को कॉन्फ़िगर करें.

प्रोजेक्ट के स्ट्रक्चर की सेटिंग

अपने Android Studio प्रोजेक्ट की अलग-अलग सेटिंग बदलने के लिए, प्रोजेक्ट स्ट्रक्चर डायलॉग बॉक्स पर क्लिक करें फ़ाइल > प्रोजेक्ट का स्ट्रक्चर. इसमें सेक्शन देखें:

  • प्रोजेक्ट: यह Gradle और 'Android Gradle प्लग इन और रिपॉज़िटरी की जगह का नाम.
  • एसडीके की जगह: इससे JDK, Android SDK टूल की जगह की जानकारी सेट की जाती है, और Android NDK, जिसे आपका प्रोजेक्ट इस्तेमाल करता है.
  • वैरिएबल: इससे आपको अपने बिल्ड में इस्तेमाल किए जाने वाले वैरिएबल में बदलाव करने की सुविधा मिलती है स्क्रिप्ट.
  • मॉड्यूल: आपको मॉड्यूल के खास बिल्ड में बदलाव करने देता है कॉन्फ़िगरेशन, जिनमें टारगेट और कम से कम SDK टूल, ऐप्लिकेशन सिग्नेचर, और लाइब्रेरी डिपेंडेंसी का इस्तेमाल किया जाता है. हर मॉड्यूल का सेटिंग पेज नीचे दिए गए टैब में बंटा है:
    • प्रॉपर्टी: इससे एसडीके के वर्शन और बिल्ड के बारे में पता चलता है मॉड्यूल को कंपाइल करने के लिए इस्तेमाल किए जाने वाले टूल.
    • साइनिंग: वह सर्टिफ़िकेट बताता है जिसका इस्तेमाल इन कामों के लिए करना है अपने हस्ताक्षर करें ऐप का इस्तेमाल करें.
  • डिपेंडेंसी: इसमें लाइब्रेरी, फ़ाइल, और मॉड्यूल की जानकारी होती है इस मॉड्यूल के लिए डिपेंडेंसी. डिपेंडेंसी जोड़ना, उनमें बदलाव करना, और उन्हें मिटाना इस पैनल से. मॉड्यूल डिपेंडेंसी के बारे में ज़्यादा जानकारी के लिए, यहां देखें बिल्ड वैरिएंट कॉन्फ़िगर करें.

  • वैरिएंट बनाना: इससे आपको अलग-अलग फ़्लेवर और बिल्ड टाइप को कॉन्फ़िगर करने की सुविधा मिलती है आपके प्रोजेक्ट के लिए.

    • फ़्लेवर: इसकी मदद से कई बिल्ड फ़्लेवर बनाए जा सकते हैं, जिनमें हर फ़्लेवर, कॉन्फ़िगरेशन सेटिंग का एक सेट तय करता है, जैसे कि मॉड्यूल के कम से कम और टारगेट SDK वर्शन और वर्शन कोड और वर्शन का नाम है.

      उदाहरण के लिए, एक ऐसा फ़्लेवर तय किया जा सकता है जिसमें SDK टूल का वर्शन कम से कम 21 और उसका टारगेट SDK टूल 29 हो. साथ ही, एक ऐसा वर्शन जिसमें के लिए कम से कम लेवल 24 और टारगेट SDK 33 हो.

    • बिल्ड के टाइप: इससे आपको बिल्ड बनाने और उसमें बदलाव करने की सुविधा मिलती है कॉन्फ़िगरेशन देखें, जैसा कि बिल्ड वैरिएंट कॉन्फ़िगर करना में बताया गया है. डिफ़ॉल्ट रूप से, हर मॉड्यूल में डीबग और रिलीज़ के लिए कई बिल्ड टाइप शामिल किए जा सकते हैं. साथ ही, ज़रूरत के हिसाब से अलग-अलग तरह के बिल्ड भी बनाए जा सकते हैं.