लिवाड़ फ़ोल्डर में जारडॉक या स्रोतों को जार में कैसे संलग्न करें?


254

ग्रहण के लिए ADT r17 प्लगइन के नए संस्करण ने स्वचालित रूप से JAR निर्भरता को सेटअप करने के लिए सुविधा को जोड़ा। / Libs फ़ोल्डर में कोई भी .jar फाइलें अब बिल्ड कॉन्फ़िगरेशन में जोड़ दी जाती हैं। दुर्भाग्य से एंड्रॉइड डिपेंडेंसीज क्लासपैथ कंटेनर गैर-परिवर्तनीय है।

गैर परिवर्तनीय Android निर्भरता वर्गपथ

मैं javadoc और स्रोतों को स्वचालित रूप से सम्मिलित करने के लिए कैसे संलग्न कर सकता हूं। (/ लिबास फ़ोल्डर से)


मुझे नहीं लगता कि आपके सवाल का जवाब दिया गया था। मार्क का स्वीकृत उत्तर वही देता है जो आपने पूछा था कि समाधान नहीं है। हम ऑटो-लिबास (मैनुअल जार के माध्यम से नहीं) के माध्यम से javadoc और स्रोतों को कैसे संलग्न कर सकते हैं?
pjv

2
इस बग कोड के लिए एक समस्या है । http://www.p/android/issues/detail ? id=27490#c21 । टिप्पणी 21 कहती है कि ADT r20 में एक मानक जावा .properties फ़ाइल (foo.jar -> foo.jar.properties) के साथ अटैच सोर्स / javadoc संभव होगा जो आपको स्रोत फ़ोल्डर (या संग्रह) के सापेक्ष या निरपेक्ष पथ को संपादित करने की अनुमति देता है। / या जावदोक के सापेक्ष या निरपेक्ष मार्ग।
सेर्गेई पेचेनिस्की

जवाबों:


401

अपने प्रश्न का उत्तर देने का सबसे अच्छा तरीका है कि ज़ेवियर , प्लास्टिव , विन्सएफआर और क्रिस्टोफर के उत्तरों को संक्षेप में प्रस्तुत करें

स्टेप बाय स्टेप गाइड

स्रोत और javadoc को .jar पुस्तकालय से जोड़ने के लिए जो कि स्वचालित रूप से ग्रहण से जुड़ा हुआ है, आपको निम्नलिखित कार्य करने होंगे:

  1. लायब्रेरी के .jar फ़ाइल को लिबास फोल्डर में, और संबंधित स्रोत .jar और डॉक .jar फ़ाइलों को अलग-अलग उप-फ़ोल्डर जैसे कि लिबास / src और लिबास / डॉक्स में रखें । यदि आप चाहते हैं तो आप src और डॉक्स के अलावा किसी अन्य नाम का उपयोग कर सकते हैं, लेकिन यह महत्वपूर्ण है कि .jar फाइलें सीधे लिबर फ़ोल्डर में नहीं हैं ।
  2. वास्तविक लाइब्रेरी के सटीक नाम के साथ libs फ़ोल्डर .propertiesमें एक फ़ाइल बनाएं । (उदाहरण देखें)। सुनिश्चित करें कि आप .jar का हिस्सा रखें।
  3. .propertiesफ़ाइल में स्रोतों और javadoc .jar के सापेक्ष पथ निर्दिष्ट करें ।
  4. ग्रहण परियोजना को बंद करें और फिर से खोलें! वैकल्पिक रूप से, दबाकर परियोजना को ताज़ा करें F5
  5. स्रोत कोड में लिंक किए गए पुस्तकालय की एक वस्तु का चयन करें।
  6. दस्तावेज़ देखने के लिए एक्लिप्स में Javadoc दृश्य खोलें (स्क्रीनशॉट देखें)।
  7. F3चयनित ऑब्जेक्ट का स्रोत कोड घोषणा (डिफ़ॉल्ट शॉर्टकट:) खोलें ।


उदाहरण

उदाहरण Gson लाइब्रेरी का उपयोग करता है ।

लिबर फ़ोल्डर की निर्देशिका संरचना:

libs
├── docs
   └── gson-2.2.2-javadoc.jar
├── gson-2.2.2.jar
├── gson-2.2.2.jar.properties
└── src
    └── gson-2.2.2-sources.jar

Gson-2.2.2.jar.properties की सामग्री

src=src/gson-2.2.2-sources.jar
doc=docs/gson-2.2.2-javadoc.jar


अतिरिक्त जानकारी

आप निश्चित रूप से javadoc और स्रोतों .jar को अन्य फ़ोल्डरों में स्थानांतरित कर सकते हैं और सापेक्ष पथ निर्दिष्ट कर सकते हैं। यह आप पर निर्भर है। स्रोत और javadoc जार को सीधे लिबर फ़ोल्डर में रखना संभव है, लेकिन अनुशंसित नहीं है , क्योंकि यह आपके एप्लिकेशन में दस्तावेज़ और स्रोत कोड को शामिल करने का कारण बनता है ।


ग्रहण JavaDoc पैनल का स्क्रीनशॉट:

ग्रहण में जावाडॉक दृश्य

Android 4.2.2 के साथ Gson का उपयोग करके एक ग्रहण परियोजना का स्क्रीनशॉट ।:

ग्रहण परीक्षण परियोजना स्क्रीनशॉट


अनपेक्षित javadocs को संदर्भित करना

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

  1. पुस्तकालय रखें .jar को libs/फ़ोल्डर में रखें
  2. निम्नलिखित सामग्री के साथ एक yourlibraryname.jar.propertiesफ़ाइल बनाएं ( मत भूलना.jar )

     doc=docs
  3. करने के लिए javadocs फ़ोल्डर जोड़ें libs/

आपको निम्नलिखित फ़ोल्डर संरचना के साथ आना चाहिए:

├── docs
   ├── allclasses-frame.html
   ├── allclasses-noframe.html
   ├── com
      └── google
          └── ads
              ├── Ad.html
                 ....
              └── package-tree.html
      ...
   └── stylesheet.css
├── GoogleAdMobAdsSdk-6.4.1.jar
└── GoogleAdMobAdsSdk-6.4.1.jar.properties

जैसा कि ऊपर बताया गया है, ग्रहण परियोजना को बंद करना और फिर से खोलना मत भूलना ! यहां GoogleAdMobAds Android लाइब्रेरी का उल्लेख करते हुए एक कार्यशील उदाहरण परियोजना का एक स्क्रीनशॉट है ।

GoogleAdMobAds Android पुस्तकालय ग्रहण परियोजना


7
आह, यह ग्रहण परियोजना का समापन और फिर से खोलना था जो मेरे लिए आवश्यक था। (इससे पहले बिना किसी भाग्य के मैंने कई बार ताज़ा और साफ किया था।)
स्टीव हेली

4
धन्यवाद @JJD जिसने बहुत अच्छा काम किया। मुझे काम शुरू करने से पहले सिर्फ ग्रहण को फिर से शुरू करना था।
जवज्जवजवजवव

26
नोट: आपको वास्तव में Javadoc और स्रोत JAR को एक उपनिर्देशिका में रखना चाहिए , उदाहरण के लिए "./libs/docs", अन्यथा ये JAR आपके एपीके में बंडल हो जाएंगे! इसके अलावा, आप कई पुस्तकालयों के लिए Javadoc को शामिल नहीं कर पाएंगे, क्योंकि एपीके का निर्माण तब विफल हो जाएगा जब वह डुप्लिकेट HTML फ़ाइलों को खोज लेगा।
क्रिस्टोफर ऑर्र

5
क्या .properties फ़ाइल से दूरस्थ javadoc को संदर्भित करना संभव है? जैसे: doc = community.versant.com/documentation/reference/db4o-8.0/java/api
Matthias

9
जाहिरा तौर पर यह काम नहीं करता है यदि आप केवल Javadoc लिंक करने जा रहे हैं और स्रोत कोड नहीं है, तो मुझे अपने दस्तावेज़ों में एक फ़ोल्डर में 7zip के साथ Javadoc जार को निकालना होगा, फिर गुणों को Javadoc सूचकांक के साथ फ़ोल्डर में दर्ज करें .html सीधे इतने doc = C: \\ उपयोक्ता \\ जॉनी \\ वर्कस्पैनेवफब \\ रोबोटियम-सोलो-4.0-
जवादॉक

25

खिड़कियों पर आपको गुण फ़ाइल में डॉक्टर और src पथ के संदर्भ के लिए बैकस्लैश से बचना होगा। उदाहरण के लिए, android-support-v4.jar के लिए गुण फ़ाइल सामग्री कुछ इस प्रकार है:

doc=C:\\Program Files (x86)\\Android\\android-sdk\\extras\\android\\support\\v4\\docs
src=C:\\Program Files (x86)\\Android\\android-sdk\\extras\\android\\support\\v4\\src

1
वाह आपके जवाब ने मेरी समस्या हल कर दी, मैंने एक \ _ डाल दिया लेकिन हमें \ _thanks इतना डालना चाहिए
Arash

17

Http://code.google.com/p/android/issues/detail?id=27490#c21 से एक उत्तर आता है

आपके libs फ़ोल्डर में, आपके पास होना चाहिए:

doc(folder)
    foo_doc(folder)
        index.html
        ...
        ...
foo.jar
foo.jar.properties

और तुम्हारे में foo.jar.properties, बस डाल दियाdoc=./doc/foo_doc

हो सकता है कि आपको अपनी परियोजना को ताज़ा करना होगा, इसे साफ करना होगा, इसे बंद करना होगा और इसे फिर से खोलना होगा।

इससे मेरा काम बनता है!


यदि आपके पास ज़िप फ़ाइल में डॉक्स है, तो यह जाने का तरीका है, बहुत बहुत धन्यवाद !! अंगूठे
अखिल जैन

10

मैंने उपरोक्त सभी की कोशिश की और उनमें से किसी ने भी मेरे लिए काम नहीं किया। मैंने एक ऐसा तरीका निकाला, जो हमेशा काम करेगा। मूल रूप से, अपराधी वह तरीका है जो ADT "libs" फ़ोल्डर का व्यवहार करता है इसलिए मैंने "libs" फ़ोल्डर का उपयोग करना छोड़ दिया। इसके बजाय मैंने एक "पुस्तकालयों" फ़ोल्डर बनाया और इसका इस्तेमाल किया।

आप निम्नलिखित कर सकते हैं और यह हमेशा काम करेगा - भले ही एडीटी को बदलना चाहिए कि यह कैसे बदलता है कि यह भविष्य में "लिबास" फ़ोल्डर से कैसे निपटता है:

  1. एक "पुस्तकालयों" फ़ोल्डर बनाएँ।
  2. प्रत्येक लाइब्रेरी के लिए इसके अंतर्गत एक उप-फ़ोल्डर बनाएँ।
  3. प्रत्येक लाइब्रेरी के लिए उपयुक्त फ़ोल्डर (जावा जार फ़ाइल, सोर्स जार फ़ाइल, जावाडॉक जार फ़ाइल, आदि) में सभी फाइलें डालें।
  4. जावा बिल्ड पथ के लिए "लाइब्रेरी" टैब में प्रत्येक प्रोजेक्ट के लिए जावा जार फ़ाइल जोड़ें पर क्लिक करके Add Jars... फ़ोल्डर में लाइब्रेरी उप-फ़ोल्डर से जार जोड़ने के बटन ।
  5. "लाइब्रेरीज़" टैब में प्रोजेक्ट को खोलकर, वांछित आइटम का चयन करके, और Edit..."लाइब्रेरीज़" फ़ोल्डर में लाइब्रेरी सब-फोल्डर से सोर्स / जेवाडॉक्स जोड़ने के लिए बटन पर क्लिक करके प्रत्येक प्रोजेक्ट के लिए स्रोत / javadocs संलग्न करें।
  6. जावा बिल्ड पथ के लिए "ऑर्डर और एक्सपोर्ट" टैब में प्रत्येक प्रोजेक्ट के लिए चेकबॉक्स देखें।
  7. यह सत्यापित करने के बाद कि सभी पुस्तकालयों को "लिबास" फ़ोल्डर हटा दिया गया है।

उपरोक्त प्रक्रिया का पालन करने से आपकी परियोजना में इस तरह दिखने वाले फ़ोल्डर होंगे:

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

आपका जावा बिल्ड पाथ कुछ इस तरह दिखेगा:

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

ऑर्डर और एक्सपोर्ट में पुस्तकालयों को टिक किया जाता है:

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


5

अभी के लिए, आप जिस लाइब्रेरी में जावदोक चाहते हैं, वहां जाएं lib। उन्हें उस लायब्रेरी को Build Pathजोड़ने और Javadoc जोड़ें।

Android मुद्दों में इस टिप्पणी की जाँच करें ।


ऑर्डर चेक करने और लाइब्रेरी को निर्यात करने के लिए सेट करने के लिए (जैसे मैंने किया था) मत भूलना Build Path
कार्लोस सोभ्रिन्हो

4

ADT 22 पर मैं दोनों कॉमन्स-आईओ-2.4.जर और एंड्रॉइड-सपोर्ट-v4.jar के लिए जावदॉक का उपयोग नहीं कर सका।

इस तरह से मैंने इसे ठीक किया:

  1. पूर्वधारणा: दोनों पुस्तकालयों को "संदर्भित पुस्तकालय" के तहत सूचीबद्ध किया गया है।

  2. Commons-io-2.4.jar पर राइट क्लिक करें और गुण चुनें। यह विंडो दिखाई देती है:

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

commons-io-2.4.jar को commons-io-2.4-javadoc.jar के साथ बंडल किया जाता है, इसलिए मैंने Javadoc को आर्काइव बाहरी फ़ाइल पथ में निर्दिष्ट किया।

मैंने समर्थन पुस्तकालय के लिए एक ही काम किया: Android-support-v4.jar पर राइट क्लिक करें और गुण चुनें। यह स्क्रीन दिखाई देती है:

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

इस बार मैंने स्रोत निर्देशिका के लिए पथ निर्दिष्ट किया।


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

3

जब मैं एसडीके टूल्स और एडीटी संशोधन 17 में अपग्रेड किया गया तो कॉमन-ओयो-2.0.1.jar का पुस्तकालय संदर्भ टूट गया था।

समस्या का समाधान करने के लिए मैंने प्रोजेक्ट -> गुण -> जावा बिल्ड पाथ और मैंने लाइब्रेरी टैब का चयन किया। मैंने commons-io-2.0.1.jar के किसी भी संदर्भ को हटा दिया और फिर परियोजना में commons-io-2.0.1.jar को जोड़ने के लिए जार जोड़ें का उपयोग किया। तब मैं लाइब्रेरी के नाम के बगल में स्थित '>' एरो पर क्लिक करके लाइब्रेरी रेफरेंस का विस्तार करता हूं और मैंने सोर्स अटैचमेंट और जावदोक लोकेशन सेट करने के लिए एडिट बटन का इस्तेमाल किया है।

क्षमा करें, मैं एक छवि पोस्ट नहीं कर सकता क्योंकि मेरे पास पर्याप्त प्रतिनिधि नहीं है (कृपया ...)।


मेरे लिए काम नहीं किया। आपके पास अपनी परियोजना में जार फ़ाइल कहाँ रखी है? मैं libs फ़ोल्डर में मेरा है।
डैनियल रयान

अंत में किसी ने एक निर्देश दिया कि वास्तव में काम किया है! आपका बहुत-बहुत धन्यवाद। ".Properties" फ़ाइल सहित अग्रगामी तरीकों में से किसी ने भी मेरे लिए कोई अच्छा काम नहीं किया, लेकिन इसने डायलॉग स्क्रीन में बाहरी JAR के रूप में लाइब्रेरी को जोड़ने का काम किया।
19x में AlxDroidDev

1

एक चलता हुआ लक्ष्य प्रतीत होता है लेकिन, कई स्थानों से बिट्स और टुकड़ों को इकट्ठा करने के बाद (इस बहुत ही प्रश्न के उत्तर सहित, जो सभी आवश्यक विवरणों का वर्णन करने में मदद करता है लेकिन विफल रहा है, या शायद इस बीच सिस्टम थोड़ा बदल गया था), ऐसा प्रतीत होता है समाधान, कम से कम अब (28 अगस्त, 2013) के रूप में।

  • अपने javadocs के लिए एक फ़ोल्डर खोलें कहीं आपके प्रोजेक्ट के अंदर नहीं
  • वहाँ अपने javadocs रखो , प्रत्येक अपने स्वयं के फ़ोल्डर में।
  • अपने libफ़ोल्डर के अंदर , एक जोड़ेंxxx.jar.properties प्रत्येक लिब के लिए फ़ाइल आप एक javadoc के साथ चाहते हैं।
  • उस गुण फ़ाइल में, उस फ़ोल्डर का संदर्भ लें जिसे आपने उपयुक्त javadoc में (विंडोज पर, बैकस्लैश से बचकर निकाला है):

doc=d:\\Android\\javadoc\\libGoogleAnalyticsServices

  • ग्रहण में अपनी परियोजना को बंद करें और फिर से खोलें (ताज़ा करना पर्याप्त नहीं है)। जब आप उपयुक्त कक्षाओं में होवर करते हैं तो आपको टूलटिप्स को देखना चाहिए।

इनमें से किसी भी चरण का निरीक्षण करने में असमर्थ (javadoc को अनज़िप नहीं करने पर, फ़ोल्डर के बजाय किसी फ़ाइल को संदर्भित करना, आदि) इसे तोड़ना प्रतीत होता है।


1

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

कक्षा प्रवेश से पहले:

<classpathentry kind="lib" path="[PATH_TO_MY_JAR]"/>

स्रोत में पथ जोड़ने के बाद

<classpathentry kind="lib" path="[PATH_TO_MY_JAR]" sourcepath="[PATH_TO_MY_SOURCE_JAR]"/>

उम्मीद है की यह मदद करेगा


0

बस ADT प्लगइन को अपडेट करें। कि मेरे लिए काम किया !!

  1. ग्रहण प्रारंभ करें, फिर मदद> नया सॉफ़्टवेयर स्थापित करें चुनें।
  2. शीर्ष-दाएं कोने में जोड़ें पर क्लिक करें।
  3. प्रकट होने वाले रिपॉजिटरी संवाद में, स्थान के लिए नाम और निम्न URL के लिए "ADT प्लगइन" दर्ज करें : https://dl-ssl.google.com/android/eclipse/ नोट: Android डेवलपर टूल अपडेट साइट को एक की आवश्यकता है सुरक्षित संयोजन। सुनिश्चित करें कि आपके द्वारा दर्ज की गई अपडेट साइट URL HTTPS से शुरू होती है।
  4. ओके पर क्लिक करें। उपलब्ध सॉफ़्टवेयर संवाद में, डेवलपर टूल के बगल में स्थित चेकबॉक्स का चयन करें और अगला पर क्लिक करें।
  5. अगली विंडो में, आपको डाउनलोड किए जाने वाले उपकरणों की एक सूची दिखाई देगी। अगला पर क्लिक करें।
  6. लाइसेंस समझौतों को पढ़ें और स्वीकार करें, फिर समाप्त पर क्लिक करें।
  7. यदि आपको यह कहते हुए सुरक्षा चेतावनी मिलती है कि सॉफ़्टवेयर की प्रामाणिकता या वैधता स्थापित नहीं की जा सकती है, तो ठीक पर क्लिक करें।
  8. जब स्थापना पूर्ण हो जाती है, तो ग्रहण को पुनरारंभ करें

उम्मीद है की वो मदद करदे!


0

किसी भी दिए गए जार के लिए, यदि आप कोडिंग करते समय टूलटिप पर जावदोक की मदद देखना चाहते हैं, तो निम्न कार्य करें: अपनी परियोजना> गुण> जावा बिल्ड पथ> लाइब्रेरी टैब पर राइट क्लिक करें। विस्तार करने के लिए अपने जार के बगल में स्थित तीर पर क्लिक करें।

स्रोत का लगाव को वास्तविक जार (शायद आपके जावा फ़ोल्डर में सही) के स्थान को इंगित करना चाहिए।

Javadoc स्थान : आपके पास यहां दो विकल्प हैं: URL और संग्रह। यदि इस जार के लिए आपके javadocs एक फ़ोल्डर के रूप में हैं, जिसमें index.html शामिल है पहले स्तर पर फ़ाइल , तो 'Javadoc URL' चुनें और उस फ़ोल्डर को इंगित करें। यदि आपके javadocs जार में हैं, तो 'Javadoc in आर्काइव' चुनें और जार को इंगित करें। अपने कार्यक्षेत्र को पुनः आरंभ करना / बंद करना न भूलें और टूलटिप को जावदोक जानकारी के साथ अपडेट करने के लिए अपनी परियोजना को फिर से खोलें।

मुझे उम्मीद है कि यह मेरे लिए एक सरल जवाब देने में मदद करता है जो मुझे लगता है कि एक बहुत ही सरल कार्य होना चाहिए।


0

मेरा समाधान:

एक ग्रहण प्लगइन डाउनलोड करें: "जावा स्रोत अटैकर फ़ीचर"।

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

जब आपके पास स्रोत कोड होता है तो आपके पास स्वचालित रूप से javadoc होता है।

अब आप वर्ग को जावेदॉक देखने के लिए F2 का उपयोग कर सकते हैं।

का आनंद लें

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