2011-12-17 11 views
78

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

+4

आईएमओ @andr उत्तर – auval

उत्तर

65

एंड्रॉइड एसडीके प्रबंधक से समर्थन पैकेज डाउनलोड करने के बाद, आप फ़ोल्डर < एंड्रॉइड-एसडीक्स >/एक्स्ट्रा/एंड्रॉइड/सपोर्ट/वी 4/src में समर्थन पैकेज का स्रोत कोड पा सकते हैं।

+12

स्वीकार करने वाला एक है, मेरे मामले में इसे 'सी: \ प्रोग्राम फ़ाइलें \ एंड्रॉइड \ android-sdk \ extras \ android \ compatibility \ v4 \ src \ java' में संग्रहीत किया गया था। इसके बाद मैंने अपनी सामग्री (एंड्रॉइड फ़ोल्डर) को इस आदेश के साथ * .jar में पैक किया: 'jar cf android-support-v4-sources.jar android /'। मैंने इस जार को एंड्रॉइड-सपोर्ट-v4.jar (जावा बिल्ड पथ/ग्रहण में लाइब्रेरी सेटिंग्स) से जोड़ा है। अच्छा काम करता है :) –

+5

यह अब काम नहीं कर रहा है। मैं इसे कैसे कारगर बना सकता हूं? मदद.मैं विज्ञापन 21.1 का उपयोग कर रहा हूँ। एंड्रॉइड-सपोर्ट-v4.jar का दस्तावेज़ स्रोत या जावा स्रोत गैर-संशोधित है। राइट क्लिक प्रोजेक्ट, प्रॉपर्टीज> जावा बिल्ड पथ> लाइब्रेरी टैब, एंड्रॉइड प्राइवेट लाइब्रेरीज़> एंड्रॉइड-सपोर्ट-वी 4.जर - स्रोत अटैचमेंट: (कोई नहीं) - गैर संशोधित। :( – Thupten

+3

यह काम करने के लिए ठीक है। एंड्रॉइड-सपोर्ट-v4.jar को दायाँ क्लिक करके 'संदर्भित पुस्तकालयों 'में होना चाहिए,' पथ बनाएं .. ',' पथ में जोड़ें '। फिर' संदर्भित पुस्तकालयों 'में, एंड्रॉइड-सपोर्ट-वी 4 पर राइट क्लिक करें और स्रोत सेट करें। – Thupten

16

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

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

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

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

+0

सबसे अच्छा है .. यह मेरी मदद करता है ..... –

+5

यदि आपके पास बग नहीं है जो आपको जार को स्रोत संलग्न नहीं करने देता है, तो – Ixx

+1

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

83

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

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

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

साथ समर्थन पुस्तकालय नेविगेट का आनंद लें ऊपर बाहरी जार ऊपर खींचने स्रोत!

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

+2

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

+4

इसमें सभी आवश्यक कदम थे और मेरे लिए काम किया! अंतिम चरण (ऑर्डरिंग) दूसरों से बाहर था और बहुत महत्वपूर्ण था। – cottonBallPaws

+3

मेरे पास एंड्रॉइड-प्राइवेट लाइब्रेरीज़ (एपीएल, जो एंड्रॉइड निर्भरता के ऊपर सूचीबद्ध था) में सूचीबद्ध एंड्रॉइड-सपोर्ट-v4.jar था, इसलिए मुझे नए जोड़े को खींचना पड़ा।एपीएल – Kuitsi

121

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

  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 में स्थित हैं।

इस सुविधा उसके लेखक ने लिखा की संक्षिप्त विवरण here पाया जा सकता है।

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

संपादित

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

+9

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

+10

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

+0

@WindRider महान, इसे ध्यान में रखेगा .. योगदान के लिए धन्यवाद :) – andr

0

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

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

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

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

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

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

मेरे जावा स्रोत अनुलग्नक के लिए पथ।(उसके बाहरी स्थान)

सी:/उपयोगकर्ताओं/Thupten/ADT-बंडल-windows-x86_64-20130514/SDK/अतिरिक्त/एंड्रॉयड/support/v4/src

मैं जावा दस्तावेज़ के लिए एंड्रॉयड वेबसाइट दस्तावेज़ का इस्तेमाल किया स्थान

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

2

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

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

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

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

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

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

0

मैं मेरे लिए यह पाया:

मुख्य lib के लिए: android.jar:

src: एसडीके/स्रोतों/एंड्रॉयड -19 डॉक: एसडीके/docs/संदर्भ/

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

src: एसडीके/अतिरिक्त/एंड्रॉयड/support/v4/src/जावा दस्तावेज़: (यकीन नहीं) http://developer.android.com/reference/android/support/v4/app/package-summary.html

1

मैं सिर्फ ऑटो हटाने जनरेट, तो मैनुअल एक Referencde पुस्तकालय रूप में जोड़ें।

पहले कक्षा खोलें, आईडीई आपको संलग्न स्रोत बदलने के लिए कहेंगे।

0

के बाद आप एसडीके अद्यतन किया है और उस में डाउनलोड किया प्रलेखन: एक्सप्लोरर पैकेज

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

    enter image description here

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

enter image description here

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

enter image description here

  • में स्थित है का चयन Javadoc location के लिए स्रोत फ़ोल्डर चुनें फिर पर क्लिक करें Browse... और समर्थन v4 के लिए javadoc स्थान चुनें जोमें स्थित है

enter image description here - Order and Export टैब का चयन करें और जाँच android-support-v4.jar तुम सिर्फ गयी।

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