android - मैं एंड्रॉइड प्रोजेक्ट में बाहरी जेएआर का उपयोग कैसे कर सकता हूं?




eclipse android-studio (8)

मैंने एक एंड्रॉइड प्रोजेक्ट बनाया है और मेरी परियोजना में एक बाहरी जेएआर (हेसियन-4.0.1.jar) जोड़ा है। मैंने फिर जार को बिल्ड पथ में जोड़ा और ऑर्डर और एक्सपोर्ट में इसे चेक आउट किया।

आदेश और निर्यात को अनदेखा किया जाता है ऐसा लगता है, और बाहरी जेएआर के सभी वर्ग रनटाइम पर गायब हैं।

एक्लिप्स प्लगइन का उपयोग करते हुए एक एंड्रॉइड एप्लिकेशन बनाते समय बाहरी जार से आवश्यक कक्षाओं को सही तरीके से शामिल करने के लिए कोई चाल है? मैं चींटी या मेवेन का उपयोग नहीं करना चाहता।


अपनी प्रोजेक्ट के अंदर एक फ़ोल्डर (जैसे lib) बनाएं , अपने जार को उस फ़ोल्डर में कॉपी करें । अब प्रोजेक्ट पर राइट क्लिक से बिल्ड पथ को कॉन्फ़िगर करने के लिए जाएं, वहां पथ का चयन करें

आपके द्वारा बनाए गए फ़ोल्डर में 'जार जोड़ें' ब्राउज़ करें और जार चुनें।


एंड्रॉइड का जावा एपीआई javax.naming का समर्थन नहीं करता है। * और कई अन्य जावैक्स। * सामान। आपको निर्भरता को अलग जार के रूप में शामिल करने की आवश्यकता है।


गोटो वर्तमान परियोजना

राइटक्लिक-> गुण-> जावा बिल्ड पथ-> पुस्तकालयों में जार फ़ाइलें जोड़ें -> ठीक क्लिक करें

फिर इसे आपके वर्तमान प्रोजेक्ट में संदर्भित पुस्तकालय फ़ाइल में जोड़ा जाता है।


बाहर निकलता है मैंने अपने स्टैक ट्रेस पर काफी अच्छा नहीं देखा है, समस्या यह नहीं है कि बाहरी जार शामिल नहीं है।

समस्या यह है कि एंड्रॉइड प्लेटफार्म में javax.naming गायब है। * और कई अन्य पैकेज जो बाह्य जार की निर्भरता भी है।

बाहरी जेएआर फाइलों को जोड़ना, और एंड्रॉइड प्रोजेक्ट्स के साथ उम्मीद के अनुसार एक्लिप्स में ऑर्डर और एक्सपोर्ट निर्यात करना।


मैं वर्तमान में एसडीके 20.0.3 का उपयोग कर रहा हूं और पिछले समाधानों में से कोई भी मेरे लिए काम नहीं करता है।

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

मेरे मामले में मुझे स्रोत कोड तक पहुंच थी और मैंने यहां वर्णित विधि का उपयोग करके इसके लिए एक एंड्रॉइड जार फ़ाइल बनाने में सक्षम था: https://.com/a/13144382/545064


यदि आप ग्रेडल बिल्ड सिस्टम का उपयोग कर रहे हैं, तो इन चरणों का पालन करें:

  1. अपने एंड्रॉइड ऐप के संबंधित libs फ़ोल्डर के अंदर jar फ़ाइलों को रखो। आप आमतौर पर इसे Project > app > libs पर पाएंगे। यदि libs फ़ोल्डर गुम है, तो एक बनाएं।

  2. इसे अपने build.gradle फ़ाइल में जोड़ें। (आपके Project लिए नहीं build.gradle )

    dependencies {
        compile fileTree(dir: 'libs', include: '*.jar')
        // other dependencies
    }
    

    इसमें आपकी सभी jar फ़ाइलें libs फ़ोल्डर में उपलब्ध होंगी।

यदि सभी jar फ़ाइलों को शामिल नहीं करना चाहते हैं, तो आप इसे व्यक्तिगत रूप से जोड़ सकते हैं।

compile fileTree(dir: 'libs', include: 'file.jar')


यदि ग्रेडल का उपयोग करते हैं तो एंड्रॉइड स्टूडियो में

इसे बनाने के लिए जोड़ें। gradle

compile fileTree(dir: 'libs', include: ['*.jar'])

और जार फ़ाइल को libs फ़ोल्डर में जोड़ें


हाँ, आप इसका इस्तेमाल कर सकते हैं। यहां कैसे:

  1. आपका प्रोजेक्ट -> राइट क्लिक -> आयात -> फाइल सिस्टम -> yourjar.jar
  2. आपका प्रोजेक्ट -> राइट क्लिक -> गुण -> जावा बिल्ड पथ -> लाइब्रेरीज़ -> जार जोड़ें -> yourjar.jar

यदि आपके पास कुछ समस्याएं हैं तो यह video उपयोगी हो सकता है।






class-library