android प्रोजेक्ट स्ट्रक्चर में आयात मॉड्यूल विकल्प नहीं मिला(एंड्रॉइड स्टूडियो 0.3.4-0.5.2)




android-studio android-library (4)

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

मैंने ऑनलाइन खोजने की कोशिश की और अधिकांश उत्तरों ने मेरे आवेदन की परियोजना संरचना पर जाने के लिए सुझाव दिया और '+' पर क्लिक करें और फिर 'आयात मॉड्यूल' पर क्लिक करें।

लेकिन एंड्रॉइड स्टूडियो 0.3.4 - 0.5.2 कोई विकल्प नहीं दिखाता है और जब मैं '+' पर क्लिक करता हूं, तो यह सिर्फ नए मॉड्यूल के लिए विंडो दिखाता है।

क्या मैं कुछ गलत कर रहा हूँ या क्या?

मदद!!!


ग्रैडल-आधारित परियोजनाओं के साथ काम करते समय आप इसमें भाग लेंगे, क्योंकि यह एक है; यहां तक ​​कि 0.3.2 में, यह आयात प्रोजेक्ट कमांड गलत काम कर रहा था; यह काम करता प्रतीत होता है, और संपादक में सिंटैक्स रंग ठीक से काम करेगा, लेकिन जब आप अपने ऐप को बनाने और चलाने का प्रयास करेंगे तो यह असफल हो जाएगा, और जब आप प्रोजेक्ट को ग्राडल बिल्ड फाइलों के साथ पुन: सिंक करते हैं तो आपके परिवर्तन खो जाएंगे । यही कारण है कि इसे तब तक हटा दिया गया है जब तक इसे ठीक से कार्यान्वित नहीं किया जा सके। इसे ट्रैक करने के लिए बग code.google.com/p/android/issues/detail?id=62122

इस बीच, एक मौजूदा पुस्तकालय को निर्भरता के रूप में जोड़ने के लिए, आपको इसे अपने ग्रैडल बिल्ड फ़ाइलों में हाथ से करने की आवश्यकता होगी। ऐसा करने के लिए, लाइब्रेरी को ले जाएं, इसलिए इसकी निर्देशिका प्रोजेक्ट रूट के अंतर्गत है (फिलहाल, प्रोजेक्ट रूट के बाहर मॉड्यूल समेत समर्थित नहीं है), एक build.gradle बिल्ड फ़ाइल लिखें जो मॉड्यूल का निर्माण करेगी, और मॉड्यूल को शामिल करेगी आपकी settings.gradle फ़ाइल।

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


एंड्रॉइड स्टूडियो 0.5.7 के लिए, वॉली को इन चरणों के बाद लाइब्रेरी प्रोजेक्ट के रूप में सफलतापूर्वक आयात किया गया था:

  1. अपनी परियोजना रूट के तहत "पुस्तकालय" नामक एक निर्देशिका बनाएं (जो भी आप चाहते हैं)
  2. चरण 1 में बनाई गई निर्देशिका के तहत गिट का उपयोग करके क्लोन वॉली, कमांड "गिट क्लोन https://android.googlesource.com/platform/frameworks/volley " है। अब परियोजना संरचना इस तरह दिखती है:

    [Project root]
    |- [Your module]
    |- libraries
       |- volley
    
  3. वॉली के माध्यम से आयात करें: राइट क्लिक प्रोजेक्ट रूट -> ओपन मॉड्यूल सेटिंग्स -> ऊपर बाएं कोने में "+" (नया मॉड्यूल) पर क्लिक करें -> मौजूदा प्रोजेक्ट आयात करें -> वॉली स्रोत निर्देशिका का चयन करें -> अगला चरण 3 के बाद, वॉली आयात की जाती है, लेकिन लाइब्रेरी प्रोजेक्ट वॉली पर निर्भरता अभी तक सेटअप नहीं है।
  4. सेटअप मॉड्यूल निर्भरता: राइट क्लिक करें प्रोजेक्ट रूट -> मॉड्यूल सेटिंग्स खोलें (अब मॉड्यूल सूची में वॉली दिखाना चाहिए) -> चुनें [आपका मॉड्यूल] -> टैब पर निर्भर करें "निर्भरता" -> बाईं ओर "+" (जोड़ें) पर क्लिक करें निचला कोने -> मॉड्यूल सूची संवाद में "मॉड्यूल निर्भरता" चुनें -> "वॉली" चुनें
  5. अब सब ठीक काम करता है, आप वॉली का उपयोग कर सकते हैं जैसा आप चाहते हैं

मुझे भी इसी तरह की समस्या थी। मैंने settings.gradle फ़ाइल खोल दी और लाइब्रेरी को include ':Test', ':libraries:MyLibrary' build.gradle include ':Test', ':libraries:MyLibrary' , फिर build.gradle में लाइन जोड़ें: compile project(':libraries:MyLibrary') । यदि आप करते हैं: प्रोजेक्ट पर राइट क्लिक करें -> ओपन मॉड्यूल सेटिंग्स -> अपनी प्रोजेक्ट -> निर्भरता, आप build.gradle में समान निर्भरताओं को build.gradle । वैसे, इस क्रिया के बाद मैंने एंड्रॉइड स्टूडियो को पुनरारंभ किया, फिर आईडीई * .iml फ़ाइल बनाई।


संस्करण 0.3.6 का उपयोग करते समय मुझे एक ही समस्या थी। अंत में मैंने 0.3.2 पर वापस जाने का फैसला किया। और अब यह काम करता है। मुझे लगता है कि एएस अनौपचारिक परियोजनाओं को कहने के लिए कनेक्ट करने की क्षमता को प्रतिबंधित करता है। मेरे पास एक ( एंड्रॉइड / ग्रैडल ) प्रोजेक्ट 0 है ( जावा / मेवेन ) प्रोजेक्ट 1प्रोजेक्ट 1 के प्रोजेक्ट 1 के रूप में प्रोजेक्ट 1 आयात करने का प्रयास करते समय मैं असफल रहा, क्योंकि मेरा एकमात्र "विकल्प" था जो एक नया मॉड्यूल बनाना था। जब मैंने जावा / ग्रैडल प्रोजेक्ट के लिए एक ही मॉड्यूल (प्रोजेक्ट 1 : जावा / मेवेन ) आयात करने का प्रयास किया, तो कोई समस्या नहीं थी।

हो सकता है कि एंड्रॉइड / ग्रैडल या यहां तक ​​कि एक प्रोजेक्ट की एंड्रॉइड प्रकृति भी है, लेकिन मैं अभी निश्चित रूप से मेरी धारणा को सत्यापित नहीं कर सकता हूं।





android-gradle