मैं ग्रहण में Android समर्थन लाइब्रेरी स्रोत कैसे संलग्न करूं?


79

बाहरी पुस्तकालयों से जुड़े स्रोत कोड का होना बहुत ही बढ़िया है। मुझे v4 सपोर्ट पैकेज के लिए सोर्स कोड कहां मिलेगा ? अधिमानतः, यह एक ज़िप फ़ाइल होगी जिसे आसानी से android-support-v4.jarग्रहण में संलग्न किया जा सकता है ।


4
imo @andr जवाब स्वीकार करने के लिए एक है
अमीर उर्वले

जवाबों:


66

Android SDK प्रबंधक से समर्थन पैकेज डाउनलोड करने के बाद, आप फ़ोल्डर में समर्थन पैकेज का स्रोत कोड पा सकते हैं <android-sdks> / अतिरिक्त / android / support / v4 / src।


12
मेरे मामले में यह संग्रहीत किया गया था C:\Program Files\Android\android-sdk\extras\android\compatibility\v4\src\java। मैंने तब इसकी सामग्री (एंड्रॉइड फोल्डर) को एक पैकेज्ड में ले लिया। * इस कमांड के साथ jar cf android-support-v4-sources.jar android/। मैंने इस जार को android-support-v4.jar (java बिल्ड पाथ / लाइब्रेरी सेटिंग्स इन एक्लिप्स) से जोड़ दिया। वर्क्स
नेक

5
यह अब काम नहीं लगता है। मैं इसे कैसे कारगर बना सकता हूं? मदद। मैं 21.1 का उपयोग कर रहा हूँ। Android-support-v4.jar का doc स्रोत या जावा स्रोत गैर-परिवर्तनीय है। राइट क्लिक प्रोजेक्ट, गुण> जावा बिल्ड पाथ> लाइब्रेरी टैब, एंड्रॉइड प्राइवेट लाइब्रेरी> एंड्रॉइड-सपोर्ट-v4.jar - स्रोत अनुलग्नक: (कोई नहीं) - गैर-परिवर्तनीय। :(
Thupten

3
ठीक है। यह काम करने के लिए भूल गए। में होने की android-समर्थन-v4.jar जरूरत Referenced Librariesराइट क्लिक करके, Build Path.., Add to Path। फिर Referenced Libraries, android-support-v4 पर राइट-क्लिक करें और स्रोतों को सेट करें।
थुपटेन जू

यह जवाब पूरी तरह से ओपी के सवाल का जवाब देता है। ग्रहण में अपनी जार फ़ाइल में इसे संलग्न करने के लिए @andr
JRomero

@ तब, आप दो बार संदर्भित नहीं कर रहे हैं जब एक पर्याप्त होगा?
पचेरियर

122

मैं सिर्फ समर्थन पुस्तकालय के लिए स्रोतों को संलग्न करने का एक और तरीका जोड़ना चाहता हूं। यह संस्करण 20 या बाद में ADT की आवश्यकता है । माना जाता है कि यह विधि सभी JAR के लिए काम करती है जिसके लिए कंटेनर द्वारा स्रोत / javadoc स्थान सेट करना अक्षम है। यहाँ आपको क्या करना है:

  1. android-support-v4.jarमें पुस्तकालय झूठ libsअपनी परियोजना की निर्देशिका। उसी निर्देशिका में JAR की तरह एक नियमित जावा प्रॉपर्टीज़ फ़ाइल बनाई जाती है, लेकिन इसमें .propertiesविस्तार भी शामिल है। तो, हमारे समर्थन पुस्तकालय के लिए यह होगा
    android-support-v4.jar.properties:।

  2. बनाई गई प्रॉपर्टीज फ़ाइल खोलें और srcउस स्थान को नामित संपत्ति का मूल्य निर्धारित करें जहां उस लाइब्रेरी के स्रोत मिल सकते हैं। आपकी फ़ाइल में एक पंक्ति होनी चाहिए जैसे:

    src=c:/apps/adt-bundle-windows-64bit/sdk/extras/android/support/v4/src
    
  3. फ़ाइल सहेजें।

  4. अपने Android प्रोजेक्ट को बंद करें और फिर से खोलें।

  5. समर्थन वर्गों में से किसी एक पर ब्राउज़ करने का प्रयास करें। स्रोत अनुलग्नक को अब काम करना चाहिए।

मेरे मामले में पूरी तरह से काम किया।

एक बात ध्यान दें: यदि srcकोई पूर्ण पथ नहीं है, तो इसे JAR फ़ाइल के मूल निर्देशिका में शुरू करने से हल किया जाएगा। एक उदाहरण के रूप में समर्थन पुस्तकालय लेना - यदि src=support/src, एडीटी यह मान लेगा कि कक्षा स्रोत स्थित हैं libs/support/src

इसके लेखक द्वारा लिखित इस विशेषता का संक्षिप्त विवरण यहाँ पाया जा सकता है

अगर किसी को इस बात की दिलचस्पी है कि इस .propertiesफ़ाइल को कैसे संसाधित किया जाए, तो मैं पैच सेट # 4, esp पढ़ने की सलाह देता हूं। में बदलाव eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/ internal/project/LibraryClasspathContainerInitializer.java:)

संपादित करें

कृपया कई संदर्भित पुस्तकालयों के साथ परियोजना में स्रोतों को ठीक से जोड़ने के बारे में विंडराइडर द्वारा एक अच्छी टिप्पणी देखें।


9
यह 'आधिकारिक' है और इसे करने के लिए अनुशंसित तरीका है।
BoD

10
ध्यान दें कि यदि आपके पास कई संदर्भित पुस्तकालयों के साथ एक बड़ी परियोजना है जो उनके बदले में एंड्रॉइड सपोर्ट लिब के संदर्भ में है, तो आपको यह सुनिश्चित करना होगा कि एंड्रॉइड-सपोर्ट-वी 4.जर की सभी प्रतियां समान बायनेरिज़ हैं। अन्यथा आपको एक अजीब त्रुटि मिलेगी "चेकसम मिसमैच ब्ला ब्ला"। इसके अलावा, इनमें से केवल एक समर्थन लिपि की प्रतियां ही आयात की जाएंगी, हो सकता है कि कोई एक लायब्रेरी के lib \ folder में समाहित हो। यह देखने के लिए कि किसका उपयोग किया गया है, पैकेज एक्सप्लोरर -> Android निर्भरताएँ खोलें और देखें कि समर्थन लिबास कहाँ से आयात किया गया है। फिर वही प्रक्रिया मुख्य परियोजना के लिए नहीं, बल्कि पुस्तकालय परियोजना के लिए करें।
विंडराइड

2
बाकी कुछ कोशिश करने के बाद मैं कह सकता हूं कि यह सबसे अच्छा जवाब है - इसे सही माना जाना चाहिए।
अमीर उवल

2
@Simulant - मैं एक्शनबेर कॉम्पिटिटिव लिबास का विशेषज्ञ नहीं हूं, लेकिन एक त्वरित नज़र से, मुझे लगता है कि इसका उपयोग करने के लिए, आपको इसे एक अलग एंड्रॉइड लिब प्रोजेक्ट के रूप में आयात करना होगा और इसे अपने मुख्य प्रोजेक्ट में निर्भरता के रूप में संदर्भित करना होगा, है ना? यदि ऐसा है, तो आपको बस यहां दिए गए चरणों का पालन करने की आवश्यकता है जो कि "लिबास" के लिए है । उस डायर के पास दो .jarफाइलें होनी चाहिए : android-support-v4.jarऔर android-support-v7-appcompat.jarजिसके लिए आपको उल्लिखित .propertiesफाइल बनाने में सक्षम होना चाहिए ।
andr

5
यदि आप विंडोज का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आप srcलाइन में आगे स्लैश का उपयोग करते हैं ।
Scutterman

83

यहां ग्रहण जूनो में सहायता पुस्तकालय के स्रोत को संलग्न करने का समाधान

मुझे लगता है कि आपका प्रोजेक्ट पहले से ही android-support-v4.jar"एंड्रॉइड डिपेंडेंसी" के तहत आपके "बिल्ड पाथ" में है, लेकिन आप इसके लिए सोर्स डायरेक्टरी अटैच नहीं कर सकते। ("स्रोत अनुलग्नक" ने कहा "गैर परिवर्तनीय")। उपाय:

  • गोटो "कॉन्फ़िगर पथ बनाएँ"
  • बाहरी जार जोड़ें> YourProject/libs/android-support-v4.jar (मुझे पता है कि आपकी परियोजना पहले ही इसका उल्लेख कर चुकी थी लेकिन चिंता न करें, बस इसे फिर से जोड़ें)।
  • जार का विस्तार करें और स्रोत को बाहरी जार में संलग्न करें: android-sdk/extras/android/support/v4/src
  • "ऑर्डर और एक्सपोर्ट" टैब पर स्विच करें, "एंड्रॉइड डिपेंडेंसी" के ऊपर बाहरी जार को ऊपर खींचें।

स्रोत के साथ समर्थन पुस्तकालय नेविगेट करने का आनंद लें!

यदि आपके पास "एंड्रॉइड टेस्ट प्रोजेक्ट" जुड़ा हुआ है YourProject, तो YourProjectTestअब और संकलित नहीं किया जा सकता है। इस मामले में, आपको "ऑर्डर और निर्यात" पर वापस लौटना होगा और चीजों को सामान्य करने के लिए वापस जाने के लिए "एंड्रॉइड डिपेंडेंसी" के नीचे के बाहरी जार को नीचे खींचना होगा।


2
"जावा बिल्ड पाथ" और मेरे लिए "कॉन्फ़िगरेशन बिल्ड पाथ" नहीं।
user123321

4
यह सभी आवश्यक कदम था और मेरे लिए काम किया! अंतिम चरण (आदेश देने) को दूसरों से बाहर रखा गया था और बहुत महत्वपूर्ण था।
कपासबैलपॉज

3
मेरे पास एंड्रॉइड प्राइवेट लाइब्रेरी (एपीएल, जो एंड्रॉइड डिपेंडेंसी के ऊपर सूचीबद्ध था) में एंड्रॉइड-सपोर्ट-वी 4.जर सूचीबद्ध था, इसलिए मुझे एपीएल
कुइटी

1
रिकॉर्ड के लिए, यह अन्य पुस्तकालयों के साथ काम करता है, न कि केवल समर्थन पुस्तकालय। / कप्तान स्पष्ट
एमिल लुंडबर्ग

2
आपको ऐसा नहीं करना चाहिए। यह एक मानक एंड्रॉइड एप्लिकेशन के शुरुआती सेटअप के खिलाफ जाता है। मैं आपको @andr द्वारा "आधिकारिक" समाधान का उपयोग करने की सलाह दूंगा।
JRomero

16

स्वीकृत उत्तर को संदर्भित करते हुए, .jar फ़ाइल के निर्माण के बिना स्रोत से सीधे स्रोत को संलग्न करना भी संभव है। जावा बिल्ड पथ / लाइब्रेरी टैब से, android-support-v4.jar का विस्तार करें, "सोर्स अटैचमेंट" को हाइलाइट करें, "एडिट ...", "एक्सटर्नल फोल्डर ..." पर क्लिक करें (फिर एंड्रॉइड-एसडीके) \ extras \ android \ support \ v4।

यह ग्रहण इंडिगो का उपयोग करके परीक्षण किया गया था।

टिप्पणियों से:

समर्थन लाइब्रेरी में स्रोत जोड़ने में असमर्थ होने की समस्या तब होती है जब आपकी सहायता लाइब्रेरी आपके प्रोजेक्ट के "Android निर्भरताएँ" फ़ोल्डर में स्थित होती है। वर्कअराउंड उसी "जावा बिल्ड पाथ / लाइब्रेरीज़" टैब से है, "एक्सटर्नल JARs जोड़ें ..." पर क्लिक करें और अपने (android-sdk) \ extras \ android \ support \ v4 पथ में .jar फ़ाइल खोजें। यह तब आपके प्रोजेक्ट सेटअप में एक नए "संदर्भित लाइब्रेरी" फ़ोल्डर के तहत दिखाई देगा।


5
यदि आपके पास बग नहीं है जो आपको जार से स्रोतों को संलग्न करने की अनुमति नहीं देता है, तो निश्चित रूप से।
Ixx

1
यह भयानक होगा लेकिन मेरा "संपादित करें" बटन बाहर निकल गया है: /। क्या आप बग का उल्लेख करते हैं? एक समाधान मिला?
अवधि

3
यह सभी समझ में आता है, यह "नॉन मॉडिफायबल" कहती है
मिस्टर स्मिथ

2
समर्थन लाइब्रेरी में स्रोत जोड़ने में असमर्थ होने की समस्या तब होती है जब आपकी सहायता लाइब्रेरी आपके प्रोजेक्ट के "Android निर्भरताएँ" फ़ोल्डर में स्थित होती है। वर्कअराउंड उसी "जावा बिल्ड पाथ / लाइब्रेरीज़" टैब से है, "एक्सटर्नल JARs जोड़ें ..." पर क्लिक करें और अपने (android-sdk) \ extras \ android \ support \ v4 पथ में .jar फ़ाइल खोजें। यह तब आपके प्रोजेक्ट सेटअप में एक नए "संदर्भित लाइब्रेरी" फ़ोल्डर के तहत दिखाई देगा। आप इसके बाद स्रोत को .jar फ़ाइल में संलग्न कर सकते हैं जैसा कि मूल उत्तर में दर्शाया गया है।
हैप्पीड्यूड

2

उन लोगों के लिए जो मानक कोड की जार फ़ाइल को स्रोत कोड के लिए पसंद करते हैं, जो स्रोत नियंत्रण और परियोजना को साझा करने के लिए अधिक सुविधाजनक बनाता है।

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

../android-support-v4.jar
../android-support-v4-src.jar

स्रोत जार फ़ाइल बनाना और इसे संलग्न करना सरल है:

  1. cd to path_to_android_sdk / अतिरिक्त / android / संगतता / v4 /
  2. ज़िप फ़ाइल बनाने के लिए अपने पसंदीदा ज़िप प्रोग्राम जैसे 7-ज़िप का उपयोग करें और इसे android-support-v4-src.jar नाम दें। जार में पहला फोल्डर / स्क्रब होना चाहिए।
  3. फ़ाइल को अपने प्रोजेक्ट में कॉपी करें, इस उदाहरण में यह कोड जार के समान फ़ोल्डर में है।
  4. ग्रहण में परियोजना गुणों में स्रोत जार संलग्न करें।

आपके उत्तर के लिए धन्यवाद। जार संग्रह बनाने के लिए, JDK में शामिल जार प्रोग्राम का उपयोग करना भी संभव है।
होवार्ड गीथस

1

मैं सिर्फ एक जेनरेट किए गए ऑटो को हटाता हूं, फिर इसे एक रेफ़रेंक लाइब्रेरी के रूप में जोड़ देता हूं।

सबसे पहले एक क्लास खोलें, IDE आपसे अटैच्ड सोर्स चेंज करने के लिए कहेगा।


0

निर्माण पथ से src और डॉक्टर को संलग्न करने की प्रक्रिया कुछ के लिए काम करती है और यह कुछ के लिए नहीं है (मेरे जैसे)। ध्यान रखने योग्य कुछ मुख्य बातें

  1. सुनिश्चित करें कि आप पैकेज एक्सप्लोरर में हैं, न कि प्रोजेक्ट नेविगेटर

  2. यदि आपने अपनी परियोजना के तहत अपने android-support-v4.jar को libs फ़ोल्डर में रखा है। महान।

  3. राइट क्लिक जार, बिल्ड पाथ .. ऐड टू पाथ। (अगर ऐड टू पाथ दिखाई नहीं देता है, तो पहले से ही जोड़ा गया है। आप कॉन्फ़िगर पथ देखेंगे ..)

  4. चरण 3 के परिणाम के रूप में, रेफरेंस लाइब्रेरी नामक एक नया फ़ोल्डर पैकेज एक्सप्लोरर ट्री में दिखाई देगा। उस पेड़ को खोलें, वहां android-support-v4.jar खोजें। प्रॉपर्टीज के रेफरेंस लाइब्रेरी में इस जार पर राइट क्लिक करें । फिर वहां जावा सोर्स अटैचमेंट और जावदोक लोकेशन सेट करें।

  5. आप कर चुके हैं।

मेरे जावा स्रोत अटैचमेंट का पथ। (इसका बाहरी स्थान)

C: / उपयोगकर्ता / thupten / adt-bundle-windows-x86_64-20130514 / sdk / अतिरिक्त / android / support / v4 / src

मैंने java doc लोकेशन के लिए android वेबसाइट doc का उपयोग किया है

http://developer.android.com/reference/android/support/v4/app/package-summary.html


0

मुझे यह मेरे लिए मिला:

मुख्य दायित्व के लिए: android.jar:

src: sdk / source / android-19 doc: sdk / docs / संदर्भ /

सपोर्ट लिब के लिए: android-support-v4.jar: (इससे पहले हमें android-support-v4.jar को एक्सटर्नल जार की तरह जोड़ना चाहिए (प्रोजेक्ट प्रॉपर्टीज -> जावा बिल्ड पाथ -> लाइब्रेरी, फिर टैब में 'ऑर्डर एंड एक्सपोर्ट' पुल अप) Android लाइब्रेरी से पहले यह लाइब्रेरी)):

src: sdk / extras / android / support / v4 / src / java doc: http://developer.android.com/reference/android/support/v4/app/package-summary.html (निश्चित नहीं)


0

आपके द्वारा SDK को अपडेट करने और उसमें दस्तावेज़ डाउनलोड करने के बाद:

  • पैकेज खोजकर्ता को समर्थन लाइब्रेरी प्रोजेक्ट आयात करें।
  • लाइब्रेरी में एक फोल्डर बनाएं और इसे कुछ इस तरह नाम दें ext-jars
  • ले जाएँ android-support-v4.jarकरने के लिए ext-jarsफ़ोल्डर।

    यहाँ छवि विवरण दर्ज करें

  • प्रोजेक्ट पर राइट क्लिक करें और प्रॉपर्टीज पर क्लिक करें।
  • बाएं मेनू में जावा बिल्ड पाथ पर क्लिक करें फिर लाइब्रेरी टैब चुनें।
  • Add JARs...इसके बाद प्रोजेक्ट पर क्लिक करें और उस जार फाइल को चुनें जिसे आप पहले से फोल्डर में ले गए थे ext-jars

यहाँ छवि विवरण दर्ज करें

  • जोड़े गए जार का विस्तार करें और Source attachmentफिर चयन करें पर क्लिक करें Edit
  • External locationफिर सेलेक्ट करें पर क्लिक करेंExternal Folder...
  • समर्थन v4 जो में स्थित है के लिए स्रोत फ़ोल्डर चुनें [sdk-path]/extras/android/support/v4/src

यहाँ छवि विवरण दर्ज करें

  • उसके बाद सेलेक्ट Javadoc locationपर क्लिक करें Editफिर सेलेक्ट Javadoc URLकरें Browse...और जो v4 में स्थित है उसके लिए javadoc लोकेशन चुनें[sdk-path]/docs/reference/

यहाँ छवि विवरण दर्ज करें - Order and Exportटैब चुनें और android-support-v4.jarआपके द्वारा जोड़े गए चेक को चेक करें ।

मेरा सुझाव है कि आप परियोजना को भी साफ करें और ग्रहण को फिर से खोलें।

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