एंड्रॉइड स्टूडियो: नया प्रोजेक्ट बनाम नया मॉड्यूल


141

एंड्रॉइड स्टूडियो की अवधारणा का उपयोग करता है modules, जबकि अन्य आईडीई जैसे ग्रहण का उपयोग करते हैं projects। हालाँकि AS Fileमेनू में एक के New Moduleसाथ-साथ एक बनाने का विकल्प है new Project

यदि इन दोनों में कोई अंतर है तो क्या होगा?

कौन सा उपयोग करने के लिए अनुशंसित है?

जवाबों:


102

से प्रलेखन (एंड्रॉयड स्टूडियो IntelliJ विचार पर आधारित है):

IntelliJ IDEA में आप जो कुछ भी करते हैं, आप एक प्रोजेक्ट के संदर्भ में करते हैं। एक परियोजना एक संगठनात्मक इकाई है जो एक पूर्ण सॉफ्टवेयर समाधान का प्रतिनिधित्व करती है।

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

एंड्रॉइड के लिए, इसका अर्थ है प्रति ऐप एक प्रोजेक्ट, और एक मॉड्यूल प्रति लाइब्रेरी और प्रति परीक्षण ऐप।

यदि आप एक ही प्रोजेक्ट में कई ऐप्स बनाने का प्रयास करते हैं तो कई समस्याएँ हैं। यह संभव है, लेकिन अगर आप कोशिश करते हैं (जैसे मैंने किया), तो आप देखेंगे कि लगभग हर चीज को एक प्रोजेक्ट प्रति ऐप के साथ काम करने के लिए डिज़ाइन किया गया है।

उदाहरण के लिए, "प्रोजेक्ट का पुनर्निर्माण" करने का एक विकल्प है, जो कई ऐप के साथ कोई मतलब नहीं रखता है, कई अन्य प्रोजेक्ट सेटिंग्स बेकार होगी, और जब आपके पास कई रिपॉजिटरी हैं, तो अंतर्निहित वीसीएस प्रणाली महान नहीं है।


1
"इसका अर्थ है प्रति ऐप में एक प्रोजेक्ट, और प्रति लाइब्रेरी और टेस्ट ऐप के अनुसार एक मॉड्यूल" ... इसका क्या मतलब है? यदि "टेस्ट ऐप" एक ऐप है, तो प्रति प्रोजेक्ट में केवल दो मॉड्यूल हो सकते हैं, एक ऐप के लिए (नियमित या टेस्ट ऐप) और एक लाइब्रेरी के लिए।
लार्स

2
@ लार्स, मैं इसे फिर से लिखना चाहूंगा: "एक प्रोजेक्ट प्रति मुख्य ऐप"
निको

4
इसका उत्तर नहीं है। बुरा जवाब
मेटिस

169

KISS जवाब:

एंड्रॉइड स्टूडियो में मॉड्यूल एक्लिप्स में एक परियोजना की तरह है

एंड्रॉइड स्टूडियो में प्रोजेक्ट एक्लिप्स में एक कार्यक्षेत्र की तरह है


8
मैं स्वयं इस मुद्दे से जूझ रहा हूं और जबकि यह वैचारिक मामला लगता है, मैं भ्रमित हूं। जब मैं एंड्रॉइड स्टूडियो में एक नया 'प्रोजेक्ट' बनाता हूं तो मुझे एक ऐसे जादूगर के साथ प्रस्तुत किया जाता है जो मुझसे थीम, एक्शनबार, ग्रिड लेआउट और इस तरह की चीजों के बारे में पूछता है। मुझे लगा होगा कि ये चीजें मॉड्यूल पर छोड़ दी जाएंगी। अगर ये सवाल सिर्फ इतना है कि 'प्रोजेक्ट' में उचित समर्थन परिवादों को जोड़ा गया है, तो मैं समझता हूं, लेकिन एक नया मॉड्यूल बनाते समय मैं भी यही बातें देखता हूं। काफी गड़बड़ है।
स्कॉट नेफ

2
आपके पास एक बिंदु है, लेकिन स्वीकृत उत्तर एंड्रॉइड स्टूडियो के साथ काम करने की समस्याओं के साथ समस्याओं को नोट करता है जैसे कि यह ग्रहण था। इस सवाल की तलाश करने वाले अधिकांश लोगों को बस यह जानना होगा कि सादृश्य क्या है।
Oded Breiner

एंड्रॉइड में एक नया प्रोजेक्ट बनाने से प्रकट / Res / src के साथ एक ऐप की तरह अधिक नहीं दिखता है - जैसा कि "कार्यक्षेत्र" पर लागू होता है। मॉड्यूल बनाते समय, दो ओ प्रकार की पेशकश की जाती है 1) एप्लिकेशन मॉड्यूल और 2) एंड्रॉइड लाइब्रेरी मॉड्यूल। # "नई परियोजना" के लिए अनावश्यक लगता है और # 1 और # 2 समान लगते हैं।
user1679130

ऊ एक मॉड्यूल वास्तव में इतना है ?!
मार्टिन Pffffer

1
@MartinPfeffer - नहीं, लेकिन यह निकटतम उपमा है, यहाँ अधिक पढ़ें: jetbrains.org/intellij/sdk/docs/basics/project_structure.html
Oded Breiner

35

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

एक मॉड्यूल आपके ऐप का एक घटक है जिसे आप स्वतंत्र रूप से बना सकते हैं, परीक्षण कर सकते हैं या डिबग कर सकते हैं।

मॉड्यूल में आपके ऐप के लिए स्रोत कोड और संसाधन होते हैं।


10

से अद्यतन डॉक्स [2019]:

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

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

उदाहरण के लिए:

  • फोन और टैबलेट मॉड्यूल
  • Android Wear मॉड्यूल
  • एंड्रॉइड टीवी मॉड्यूल
  • ग्लास मॉड्यूल

इनके अलावा, आपके पास "स्थानीय पुस्तकालय मॉड्यूल" भी हो सकता है। कहते हैं, आप अपने ऐप में अंततः उपयोग किए जाने वाले एक लाइब्रेरी मॉड्यूल के रूप में एक खाता प्रबंधन फ्रेमवर्क विकसित करते हैं, आप इसे एक ही प्रोजेक्ट में एक अलग मॉड्यूल के रूप में कर सकते हैं। अपने ऐप में इसे शामिल करने के लिए, आपको कुछ लिखना होगा,

compile project(':mylibrary')

डॉक्स कहते हैं,

यह एंड्रॉइड लाइब्रेरी मॉड्यूल पर एक निर्भरता घोषित करता है जिसका नाम "mylibrary" है (यह नाम आपकी सेटिंग्स में शामिल लाइब्रेरी के रूप में परिभाषित लाइब्रेरी नाम से मेल खाना चाहिए)। लाइब्रेरी मॉड्यूल को आपके ऐप मॉड्यूल के साथ संकलित करने और आपके एपीके में परिणामी एएआर फ़ाइल को शामिल करने के लिए इसे बनाने की आवश्यकता है।

अंत में, Intellij ने मॉड्यूल कॉन्फ़िगरेशन फ़ाइलों के बारे में कुछ और विवरणों का उल्लेख किया है:

एक मॉड्यूल के लिए कॉन्फ़िगरेशन जानकारी एक .iml मॉड्यूल फ़ाइल में संग्रहीत होती है । डिफ़ॉल्ट रूप से, ऐसी फाइल मॉड्यूल की सामग्री रूट फ़ोल्डर में स्थित होती है।

विकास दल, सामान्य रूप से, .imlमॉड्यूल फ़ाइलों को संस्करण नियंत्रण के माध्यम से साझा करते हैं ।

यह .imlफाइल देखने में थोड़ी डरावनी है। यहाँ मेरी परियोजना से एक उदाहरण है:

<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="LearnCity" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
  <component name="FacetManager">
    <facet type="android-gradle" name="Android-Gradle">
      <configuration>
        <option name="GRADLE_PROJECT_PATH" value=":app" />
      </configuration>
    </facet>
    <facet type="android" name="Android">
      <configuration>
        <option name="SELECTED_BUILD_VARIANT" value="debug" />
        <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
        <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
        <afterSyncTasks>
          <task>generateDebugSources</task>
        </afterSyncTasks>
        <option name="ALLOW_USER_CONFIGURATION" value="false" />
        <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
        <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res/layouts/common/layout/ver3/layout" />
        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver3/layout;file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver3;file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver2/layout;file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver2;file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver1/layout;file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver1;file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver0/layout;file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver0;file://$MODULE_DIR$/src/main/res/layouts/common/layout;file://$MODULE_DIR$/src/main/res/layouts/learner/layout;file://$MODULE_DIR$/src/main/res/layouts/tutor/layout;file://$MODULE_DIR$/src/main/res/layouts/obsolete/layout;file://$MODULE_DIR$/src/main/res/layouts/common;file://$MODULE_DIR$/src/main/res/layouts/learner;file://$MODULE_DIR$/src/main/res/layouts/tutor;file://$MODULE_DIR$/src/main/res/layouts/obsolete;file://$MODULE_DIR$/src/main/res/layouts;file://$MODULE_DIR$/src/main/res;file://$MODULE_DIR$/src/debug/res" />
        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
      </configuration>
    </facet>
  </component>
  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
    <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
    <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/google-services/debug" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver3/layout" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver3" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver2/layout" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver2" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver1/layout" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver1" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver0/layout" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common/layout/ver0" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common/layout" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/learner/layout" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/tutor/layout" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/obsolete/layout" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/common" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/learner" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/tutor" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts/obsolete" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res/layouts" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-verifier" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-resources" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/multi-dex" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/split-apk" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
      <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
      <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
    </content>
    <orderEntry type="jdk" jdkName="Android API 25 Platform" jdkType="Android SDK" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" exported="" name="google-http-client-android-1.22.0" level="project" />
    <orderEntry type="library" exported="" name="firebase-analytics-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="firebase-core-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="play-services-auth-base-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="gson-2.8.0" level="project" />
    <orderEntry type="library" exported="" name="play-services-tasks-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="constraint-layout-1.0.2" level="project" />
    <orderEntry type="library" exported="" name="appengine-api-1.0-sdk-1.9.50" level="project" />
    <orderEntry type="library" exported="" name="design-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="android-job-1.1.8" level="project" />
    <orderEntry type="library" exported="" name="transition-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="play-services-base-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="multispinner-0.1.1" level="project" />
    <orderEntry type="library" exported="" name="play-services-auth-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="support-core-ui-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="simpleratingbar-0.1.5" level="project" />
    <orderEntry type="library" exported="" name="play-services-maps-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="play-services-location-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="firebase-iid-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="support-core-utils-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="jsr305-2.0.1" level="project" />
    <orderEntry type="library" exported="" name="support-fragment-25.3.0" level="project" />
    <orderEntry type="library" exported="" scope="TEST" name="multidex-instrumentation-1.0.1" level="project" />
    <orderEntry type="library" exported="" name="constraint-layout-solver-1.0.2" level="project" />
    <orderEntry type="library" exported="" name="androidannotations-api-3.2" level="project" />
    <orderEntry type="library" exported="" name="java-uuid-generator-3.1.4" level="project" />
    <orderEntry type="library" exported="" name="google-http-client-1.22.0" level="project" />
    <orderEntry type="library" exported="" name="firebase-messaging-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="firebase-analytics-impl-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="firebase-common-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="eventbus-3.0.0" level="project" />
    <orderEntry type="library" exported="" name="cat-1.0.5" level="project" />
    <orderEntry type="library" exported="" name="play-services-basement-10.2.0" level="project" />
    <orderEntry type="library" exported="" name="support-compat-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="support-v4-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="multidex-1.0.1" level="project" />
    <orderEntry type="library" exported="" scope="TEST" name="hamcrest-core-1.3" level="project" />
    <orderEntry type="library" exported="" name="support-media-compat-25.3.0" level="project" />
    <orderEntry type="library" exported="" scope="TEST" name="junit-4.12" level="project" />
    <orderEntry type="library" exported="" name="recyclerview-v7-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="appcompat-v7-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="animated-vector-drawable-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="support-annotations-25.3.0" level="project" />
    <orderEntry type="library" exported="" name="support-vector-drawable-25.3.0" level="project" />
    <orderEntry type="module" module-name="backend" exported="" />
    <orderEntry type="library" exported="" name="android-android-25" level="project" />
  </component>
</module>

जबकि स्वीकृत उत्तर मृत था, समय और Google की हवा की तरह बदलने की प्रवृत्ति ने इसे अप्रचलित कर दिया है (मुझे कहने की हिम्मत है @Deprecated?)। यह बहुत अधिक समझ में आता है।
स्कॉट बिग्स

1

IntelliJ IDEA आपके द्वारा काम करने वाले पूरे कोड बेस और इसके प्रत्येक व्यक्तिगत घटकों के लिए एक मॉड्यूल के लिए एक प्रोजेक्ट बनाता है। तो, IntelliJ IDEA मॉड्यूल एक ग्रहण परियोजना की तरह अधिक है, और परियोजना लगभग ग्रहण कार्यक्षेत्र के समान है। ग्रहण के कार्यक्षेत्र के बराबर कोई सटीक नहीं है जिसमें आपके सभी कार्य शामिल हैं, लेकिन आप एक ही समय में कई फ़्रेम में कई प्रोजेक्ट खोल सकते हैं।

यहाँ ग्रहण उपयोगकर्ताओं के लिए IntelliJ IDEA Q & A पृष्ठ है-

http://www.jetbrains.com/idea/documentation/migration_faq.html


1

मॉड्यूल्स एपीकेलिब की तरह होते हैं यानी इसका अपना रेस, मैनिफ़ेस्ट, टेस्ट आदि होता है, लेकिन मुख्य ऐप आमतौर पर विभिन्न एपीकेलिब / मॉड्यूल का उपयोग करता है ताकि इसे एक समाधान में एक साथ रखा जा सके।


-5

@ ओयर्ड ब्रेइनर उत्तर का जिक्र करते हुए मैं कहूंगा कि:

एंड्रॉइड स्टूडियो में मॉड्यूल एक्लिप्स में एक परियोजना की तरह है

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


1
ज़रुरी नहीं। ग्रहण में IMHO "वर्किंग सेट" वर्तमान कार्यक्षेत्र के लिए सिर्फ "फिल्टर" हैं। आपके पास ग्रहण में दो कार्यस्थान नहीं हो सकते हैं, साथ ही साथ आपके पास दो प्रोजेक्ट नहीं हो सकते हैं जो कि एंड्रॉइड स्टूडियो के एक ही उदाहरण में खोले गए हैं (वास्तव में जब आप किसी अन्य प्रोजेक्ट को खोलते हैं, तो आपको पूर्व को बदलना होगा, या बाद में खोलने के लिए होगा। a new window)
ऑसमरोट

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