Android Studio: जार को लाइब्रेरी के रूप में जोड़ें?


1026

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

GSON लाइब्रेरी का उपयोग मैं JSON- ऑब्जेक्ट्स को क्रमांकित / डिसेर्बलाइज़ करने के लिए कर रहा हूं । लेकिन लाइब्रेरी किसी तरह बिल्ड में शामिल नहीं है।

मैंने सिर्फ एक MainActivity के साथ एक नया प्रोजेक्ट बनाया था । / Libs फ़ोल्डर में gson-2.2.3.jar को कॉपी किया गया और इसे लाइब्रेरी निर्भरता (राइट क्लिक-> लाइब्रेरी के रूप में जोड़ें) के रूप में जोड़ा गया। इसमें एंड्रॉइड स्टूडियो में जार शामिल है ताकि इसे स्रोत फ़ाइलों से संदर्भित किया जा सके।

जब मैं इस परियोजना को चलाने का प्रयास करता हूं तो मैं इसे संकलित नहीं कर सकता।

compile files('libs/gson-2.2.3.jar')

। degradle फ़ाइल में निर्भरताएँ। उसके बाद यह सही ढंग से संकलित करता है, लेकिन एप्लिकेशन को चलाते समय मुझे एक ClassDefNotFoundException

क्या किसी को पता है कि मैं क्या गलत कर रहा हूँ?



1
यद्यपि यह समस्या को हल नहीं करता है, बस यह इंगित करना चाहता है कि "संकलन" को "कार्यान्वयन" के पक्ष में हटा दिया गया था।
अमीर रेजादेह

जवाबों:


1534

मैं कई घंटों से एक ही चीज से जूझ रहा हूं, गन्स जार को कम करने की कोशिश कर रहा हूं। मैंने अंत में इसे क्रैक किया - यहां मैंने जो कदम उठाए हैं:

  1. फ़ोल्डर gson-2.2.4.jarमें Gson जार (मेरे मामले में ) रखोlibs
  2. इसे राइट क्लिक करें और 'Add as Library' हिट करें
  3. सुनिश्चित करें कि compile files('libs/gson-2.2.4.jar')आपकी build.gradleफ़ाइल में है (या compile fileTree(dir: 'libs', include: '*.jar')यदि आप कई जार फ़ाइलों का उपयोग कर रहे हैं)

    संपादित करें: Android स्टूडियो 3.0+ में उपयोग implementation files('libs/gson-2.2.4.jar')(या implementation fileTree(dir: 'libs', include: '*.jar'))

  4. एक स्वच्छ बिल्ड करें (आप एंड्रॉइड स्टूडियो में शायद यह ठीक कर सकते हैं, लेकिन यह सुनिश्चित करने के लिए कि मैं अपने ऐप के रूट फ़ोल्डर में टर्मिनल में नेविगेट कर gradlew cleanरहा हूं और टाइप कर रहा हूं। मैं मैक ओएस एक्स पर हूं, कमांड आपके सिस्टम पर अलग हो सकती है।

मैंने उपरोक्त चार करने के बाद, यह ठीक काम करना शुरू कर दिया। मुझे लगता है कि 'लाइब्रेरी के रूप में जोड़ें' कदम वह था जिसे मैंने पहले याद किया था, और यह तब तक काम नहीं किया जब तक कि मैंने इसे साफ नहीं किया।

[संपादित करें - उस build.gradleकदम को जोड़ा जो आवश्यक भी है क्योंकि दूसरों ने इंगित किया है]


6
gradlew क्लीन ने भी मेरी मदद की। आपका बहुत बहुत धन्यवाद!
फ्रांटिशेक čiačik

171
यदि आप स्पष्ट रूप से प्रत्येक जार फ़ाइल के लिए एक पंक्ति जोड़ना नहीं चाहते हैं: compile fileTree(dir: 'libs', include: '*.jar')
J c

65
मैं ग्रेडेल की क्षणिक निर्भरता प्रबंधन का लाभ लेने की सलाह दूंगा और mavenCentral () से गॉन डाउनलोड कर सकता हूं (यदि इंटरनेट कनेक्शन की आवश्यकता हो तो। बस repositories { mavenCentral() }अपनी compile files(...)लाइन को जोड़ने और बदलने के साथ compile 'com.google.code.gson:gson:2.2.4'- साथ स्वचालित रूप से आपके लिए जार फ़ाइल डाउनलोड और प्रबंधित करेगा। यह SCM को अनुमति देता है। केवल स्रोत कोड फ़ाइलों और पुस्तकालयों को ट्रैक न करें।
जो

38
मुझे चरण 2 में लाइब्रेरी विकल्प के रूप में ऐड नहीं मिलता है
यस्टर

6
एंड्रॉइड स्टूडियो 1.0.2 में, चरण 2 और 3 की आवश्यकता नहीं है क्योंकि यह पंक्ति पहले से ही डिफ़ॉल्ट में है build.gradle: संकलन फ़ाइलट्री (dir: 'libs', शामिल हैं: ['* .jar'])
ब्रायन मर्क

268

यहां लाइब्रेरी के रूप में एक स्थानीय जार फ़ाइल को एक मॉड्यूल में जोड़ने के निर्देश हैं:

  1. मॉड्यूल निर्देशिका के शीर्ष स्तर में 'libs' फ़ोल्डर बनाएँ (वही निर्देशिका जिसमें 'src' निर्देशिका है)

  2. build.gradle fileनिम्नलिखित में जोड़ें ताकि आपकी निर्भरता बंद हो:

    dependencies {
        // ... other dependencies
        compile files('libs/<your jar's name here>')
    }
  3. Android Studio में पहले से ही एक gradlew आवरण होना चाहिए। कमांड लाइन से, अपनी परियोजना के शीर्ष स्तर पर नेविगेट करें (जिस निर्देशिका में gradlewफ़ाइल है)।

    भागो ./gradlew assemble। इस परियोजना को पुस्तकालय के साथ संकलित करना चाहिए। आपको अपनी बिल्ड.ग्रेड फ़ाइल में त्रुटियों को ठीक करने की आवश्यकता हो सकती है।

  4. IDE में कोडिंग के दौरान समर्थन के लिए लाइब्रेरी के रूप में एंड्रॉइड स्टूडियो ने स्थानीय जार फ़ाइलों को पहचानने के लिए, आपको कुछ और कदम उठाने की आवश्यकता है:

    4.1। बाएं हाथ के पैनल में मॉड्यूल पर राइट क्लिक करें और चुनें Open Library Settings

    4.2। संवाद के बाएँ पैनल पर, चुनें Libraries

    4.3। +बाएं से पैनल के ऊपर दिए गए चिह्न पर क्लिक करें ->Java

    मेन्यू

    4.4। अपने स्थानीय जार का चयन करें और इसे परियोजना में जोड़ें।

  5. आपको उपरोक्त ./gradlewकमांड को एक बार चलाने की आवश्यकता हो सकती है


इसने मेरे लिए काम किया। मेरे पास Ubuntu पर Android स्टूडियो संस्करण 1.2 बिल्ड 141.1890965 है। आप "एंड्रॉइड स्टूडियो 2.5 के रूप में" क्यों कहते हैं? क्या यह विंडोज / मैक पर एक अलग संस्करण है? (1 ए) यह मुश्किल था। कॉम्बो बॉक्स परियोजना संरचना क्षेत्र के शीर्ष बाईं ओर है। "एंड्रॉइड" के विपरीत "प्रोजेक्ट" का चयन करने और "ऐप" का विस्तार करने की आवश्यकता है। (1 बी) नो "ऐड" विकल्प सामने आया, लेकिन "पेस्ट" ने काम किया। (२) मेरे पास एक लाइन थी "फ़ाइल संकलित करें (dir: 'libs', शामिल करें: ['* .jar']]", लेकिन फिर भी आपको अपनी स्पष्ट एकल पंक्ति जोड़नी होगी। (4, 5) को एक बार (3) सफलतापूर्वक करने की आवश्यकता नहीं है। धन्यवाद!
फिल फ्रीहोफर

"बाएं हाथ का पैनल"? क्या आपका मतलब प्रोजेक्ट पैनल से है? कहीं भी हो सकता है ... एंड्रॉइड स्टूडियो 2.3.3 के साथ मैं लाइब्रेरी सेटिंग्स नहीं पा सकता हूं लेकिन मॉड्यूल सेटिंग्स में निर्भरता के लिए जार को जोड़ने के समान लगता है ...
अविश्वसनीय

मैक के लिए, अगर आपके पास नहीं Gradle: $ काढ़ा Gradle स्थापित करता है, तो आप प्राप्त "./gradlew: अनुमति अस्वीकृत", आप तो फिर तुम $ चला सकते हैं ./gradlew इकट्ठा $ chmod 755 gradlew चलाने की आवश्यकता
Azkario Rizky

110

प्रोजेक्ट राइट क्लिक में

-> new -> module
-> import jar/AAR package
-> import select the jar file to import
-> click ok -> done

नीचे दिए गए स्क्रीनशॉट का पालन करें:

1:

चरण 1

2:

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

3:

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

आप इसे देखेंगे:

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


@CamConnor मुझे भी ऐसा लगता है .. अन्य उत्तर पुराने हैं
गणेश पांडे

इसका उत्तर है
एलेसेंड्रो

4
लेकिन इसे लाइब्रराय के रूप में मान्यता नहीं दी गई है। उदाहरण के लिए, andriod स्टूडियो संपादक: आयातित जार में एक पैकेज आयात करने की कोशिश करें, मान्यता प्राप्त नहीं।
डेव

इस तरह से आयातित मॉड्यूल को हटाने का एक तरीका नहीं मिल सका।
डेव

मुझे बाहरी जार को जोड़ने की इस विधि का उपयोग क्यों करना चाहिए और "कॉपी-जार-टू-लिबास" फ़ोल्डर विधि के अन्य उत्तरों का नहीं?
Eido95

48

Android Stuido में, मुझे Gson lib का प्रबंधन करने के लिए ग्रेड का उपयोग करना पसंद है।

अपनी build.gradle फ़ाइल में निर्भरता नीचे जोड़ें।

repositories {mavenCentral()}

dependencies {compile 'com.google.code.gson:gson:2.2.4'}

सब कुछ ठीक है।

आप इस पोस्ट को भी देख सकते हैं। एंड्रॉइड स्टूडियो में तीसरे पक्ष के पुस्तकालय को एकीकृत करने का सबसे अच्छा तरीका है


यह विधि सबसे अच्छी है क्योंकि यह मावेन का उपयोग कर रही है।
गैरी ड्रोकेल्ला

1
बस संस्करण संख्या को नवीनतम में अद्यतन करने के लिए याद रखें :) अब के रूप में कि 2.3.1 है, लेकिन लिंक की
किताल्दा

47

IIRC, केवल "लाइब्रेरी के रूप में जोड़ें" का उपयोग करना परियोजना के संकलन के लिए पर्याप्त नहीं है।

किसी परियोजना में पुस्तकालयों को जोड़ने के बारे में इंटेलीज की सहायता देखें

जो हिस्सा आपको सबसे ज्यादा रूचि लेना चाहिए, वह यह है:

(में File > Project Structure) मॉड्यूल सेटिंग्स खोलें और निर्भरता टैब का चयन करें।

निर्भरता टैब पर, जोड़ें पर क्लिक करें और लाइब्रेरी चुनें।

लाइब्रेरीज़ चुनें संवाद में, एक या अधिक लाइब्रेरियों का चयन करें और जोड़ें चयनित पर क्लिक करें।

यदि लाइब्रेरी संवाद में दिखाई नहीं देती है, तो इसे लायब्रेरीज़ सेटिंग में जोड़ें, मॉड्यूल के ठीक नीचे।

आपको compile files()अब और जोड़ने की आवश्यकता नहीं है, और लाइब्रेरी को आपकी परियोजना में ठीक से जोड़ा जाना चाहिए।


लाइब्रेरी में जोड़ें पहले से ही उसी तरह जार जोड़ें। इसलिए मुझे लगता है कि परिणाम वही है। मैं इसे बाद में कोशिश करूँगा।
ओज़ी

लाइब्रेरी जोड़ें क्योंकि यह सफलतापूर्वक करता है - मैं उसी नाव में हूं जैसे कि आप ओजी - समान समस्या।
जोनाह एच।

ठीक है, मुझे लगा कि पुस्तकालय के रूप में जोड़ें ने इसे केवल पुस्तकालय सूची में जोड़ दिया और इसे मॉड्यूल निर्भरता के रूप में नहीं जोड़ा।
जुकरपा

जब मैंने यह कोशिश की, मैंने पाया कि यह मेरी build.gradle फ़ाइल में संकलित फ़ाइलें () लाइनें जोड़ रहा था, लेकिन यह पुस्तकालयों (/libs/foo.jar) के लिए निरपेक्ष पथों का उपयोग करने लगा। मैं इन्हें सापेक्ष पथ (libs / foo.jar) में बदलता हूं, जिसने मेरे लिए समस्या तय कर दी।
मैट होलगेट

40

ये सभी समाधान पुराने हैं। एंड्रॉइड स्टूडियो में अब यह वास्तव में आसान है:

फ़ाइल> नया मॉड्यूल ...

अगली स्क्रीन अजीब लग रही है, जैसे आप कुछ विजेट या कुछ का चयन कर रहे हैं, लेकिन इसे पहली तस्वीर पर रखें और नीचे स्क्रॉल करें और "JAR या .AAR पैकेज" ढूंढें।

फिर Project Structureफ़ाइल मेनू appसे लें। खोली गई विंडो से चयन करें फिर चुनें dependencies, फिर दबाएं green plus button, module dependencyफिर आपके द्वारा आयात किए गए मॉड्यूल का चयन करें फिर दबाएंOK


मुझे लगता है कि मावेन का उपयोग करना अभी भी विशेष रूप से बड़े पैमाने पर परियोजनाओं के लिए बेहतर समाधान होगा, जो कि संन्यासी द्वारा प्रदान किया गया है।
गैरी ड्रोकेल्ला

2
यहां तक ​​कि यह पुराना लग रहा है। सीधे शब्दों में अपनी .jar फाइल को अपनी "लिबास" निर्देशिका में रखें और यह ऑटो-मैजिकली आपके प्रोजेक्ट के लिए संकलित हो जाएगा। एंड्रॉइड स्टूडियो 1.4 में "लिबास" डीआईआर से सभी * .jar फ़ाइलों को शामिल करने के लिए पहले से ही एक डिफ़ॉल्ट नियम सेटअप है।
डेनियल टेस्टा

35

एंड्रॉइड स्टूडियो में बाहरी पुस्तकालय को जोड़ने के लिए आसान कदम

  1. यदि आप प्रोजेक्ट एक्सप्लोरर में एंड्रॉइड व्यू में हैं, तो इसे नीचे दिए गए प्रोजेक्ट व्यू में बदल दें

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

  1. इच्छित मॉड्यूल पर राइट क्लिक करें, जहां आप बाहरी लाइब्रेरी जोड़ना चाहते हैं, फिर नया> Directroy चुनें और इसे ' libs ' नाम दें
  2. अब blah_blah.jar को ' libs ' फोल्डर में कॉपी करें
  3. Blah_blah.jar पर राइट क्लिक करें, फिर ' Add as Library .. ' चुनें। यह स्वचालित रूप से build.gradle में संकलित फ़ाइलों ('libs / blah_blah.jar') के रूप में जोड़ देगा और प्रविष्टि को सिंक कर देगा। और आप कर रहे हैं

कृपया ध्यान दें: यदि आप तृतीय पक्ष लाइब्रेरी का उपयोग कर रहे हैं तो निर्भरता का उपयोग करना बेहतर है जहां ग्रेड स्क्रिप्ट स्वचालित रूप से JAR और निर्भरता JAR को डाउनलोड करता है जब ग्रेड स्क्रिप्ट चलती है।

Ex: संकलन 'com.google.android.gms: प्ले-सर्विसेज-विज्ञापन: 9.4.0'

ग्रैडल डिपेंडेंसी मैनजमेंट के बारे में और पढ़ें


34

but कंपाइल फाइल्स ... ’मेरे लिए काम करती थी, लेकिन अब और नहीं। बहुत दर्द के बाद, मैंने पाया कि इसका उपयोग करने के बजाय काम करता है:

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

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


1
यह मेरे लिए काम करता है, हालांकि हाल ही में पाया गया है कि जब तक आप एक सिंक सिंक नहीं करते हैं, तब तक नए / अपडेट किए गए जार नहीं उठाते हैं।
स्कॉटीबेट

बस याद रखें कि, "संकलन" को "कार्यान्वयन" के पक्ष में चित्रित किया गया था।
अमीर रेजादेह

17
  1. वेबसाइट से लाइब्रेरी फ़ाइल डाउनलोड करें
  2. विंडोज़ एक्सप्लोर से कॉपी करें
  3. Project Explorer से lib फ़ोल्डर में पेस्ट करें
  4. Ctrl+ Alt+ Shift+ Sओपन प्रोजेक्ट स्ट्रक्चर
  5. निर्भरता टैब का चयन करें, फ़ाइल का उपयोग करके + जोड़ें
  6. बटन का उपयोग करके ग्रेड फ़ाइल के साथ टूल बार सिंक प्रोजेक्ट

इससे मेरी समस्या हल हो गई। कोशिश करो, अगर किसी को और अधिक विवरण चाहिए मुझे पता है।


17

मैंने इसे केवल एक पंक्ति में जोड़कर काम किया build.gradle:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar']) ----> AS creates this
    implementation 'com.google.code.gson:gson:2.3.1'   ----------> I added this one
}

Sync nowशीर्ष दाएं कोने में क्लिक करना न भूलें ।

मैं Android Studio 1.0.1 उपयोग कर रहा हूं।


क्या आप इस बारे में विस्तार से बताएंगे कि fileTreeरेखा क्या करती है?
थुफ़िर

13

मैंने एंड्रॉइड स्टूडियो के डिपेंडेंसी मैनेजर को 3 पार्टी पर निर्भरता के प्रबंधन के लिए काफी आसान और शक्तिशाली पाया (जैसे कि यहां उल्लेख किया गया है)। मेरे लिए काम करने वाले कदम गाइड द्वारा कदम प्रदान करना (नोट: ये चरण एंड्रॉइड स्टूडियो 1.6 और विंडोज प्लेटफॉर्म पर आगे के संस्करणों के लिए परीक्षण किए गए हैं)।

चरण -1: गोटो "बिल्ड> एडिट लाइब्रेरी एंड डिपेंडेंसीज ..." यह डायलॉग "प्रोजेक्ट स्ट्रक्चर" को खोल देगा।

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

चरण -2: "ऐप" चुनें और फिर "निर्भरता" टैब चुनें। फिर "Add> 1 लाइब्रेरी निर्भरता" चुनें

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

चरण -3: "लाइब्रेरी डिपेंडेंसी चुनें" संवाद दिखाया जाएगा, खोज में "gson" निर्दिष्ट करें और "खोज बटन" दबाएं

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

चरण -4: वांछित निर्भरता खोज सूची में दिखाई जाएगी, com.google.code.gson: gson: 2.7 का चयन करें (यह उस समय का नवीनतम संस्करण है जब मैंने उत्तर लिखा था), ठीक दबाएं

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

"प्रोजेक्ट स्ट्रक्चर" डायलॉग पर ओके दबाएं। ग्रैड तदनुसार आपकी बिल्ड स्क्रिप्ट को अपडेट करेगा।

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

आशा है कि यह मदद करेगा :)


मुझे इस दृष्टिकोण के साथ कुछ समस्या मिली है, ऐप पर काम कर रहा है जो कॉमन्स-आईओ -2.5 का उपयोग करता है। जब एप्लिकेशन को Google डेवलपर कंसोल पर अपलोड किया जाता है, तो यह हस्ताक्षरित APK के लिए समर्थित 0 डिवाइस दिखाता है। संपूर्ण जांच के बाद, मुझे पता चला कि मुझे जार फ़ाइल को ऐप / लिबास / कॉमन्स-io-2.5.jar के तहत रखना है और इस तरह की 'फाइल संकलन' ('लिबास / कॉमन्स-आईओ-2.5.जर') की तरह ग्रेड में निर्भरता को अपडेट करना है। ', यह निश्चित नहीं है कि मैं यहां क्या गलत कर रहा हूं और क्यों दस्तावेजीकरण इसमें शामिल नहीं है।
एबी

इस तरह से यह काम करता है। अन्य सभी उत्तर काम नहीं आए। Android Studio 2.3.3
imsrgadich

11

1.gson-2.2.4.jar लिबर फ़ोल्डर में जार (मेरे मामले में ) रखो ।

2. सुनिश्चित करें कि फ़ाइलें संकलित करें ( libs/gson-2.2.4.jar) आपकी build.gradle फ़ाइल में है।

3. अब "ग्रेड फाइलों के साथ सिंक प्रोजेक्ट" (टॉपबार पर AVD प्रबंधक बटन के लिए बाएं) पर क्लिक करें।

मैंने उपरोक्त तीनों करने के बाद, यह ठीक काम करना शुरू कर दिया।


9

फ़ोल्डर .jarमें अपनी फ़ाइल डाउनलोड और कॉपी करें libsफिर इन लाइन को build.gradle में जोड़ें:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.google.code.gson:gson:2.3.1'
}

"अभी सिंक करें" पर क्लिक करना न भूलें


9

आप इसे दो विकल्पों के साथ कर सकते हैं।

पहला सरल तरीका।

क्लिपबोर्ड में .jar फ़ाइल को कॉपी करें और फिर इसे libs फ़ोल्डर में जोड़ें। प्रोजेक्ट में libs फ़ोल्डर देखने के लिए, फ़ोल्डरों के ऊपर combobox से प्रोजेक्ट चुनें।

उसके बाद .jar फ़ाइल पर राइट क्लिक करें और लाइब्रेरी के रूप में ऐड क्लिक करें फिर एक मॉड्यूल चुनें फिर ठीक है। आप निर्भरता ब्लॉक के भीतर build.gradle फ़ाइल में .jar फ़ाइल देख सकते हैं।

 dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:21.0.3'
        implementation project(':okhttp-2.0.0')
        implementation 'com.google.code.gson:gson:2.3.1'
    }

दूसरा तरीका यह है: हम एक .jar फ़ाइल को मॉड्यूल में जोड़ सकते हैं। इसे .jar मॉड्यूल के रूप में।

आयात मॉड्यूल ---> .jar के रूप में आयात की तुलना में अपनी .jar फ़ाइल -> चुनें। यहां छवि विवरण दर्ज करें

फिर CTRL + ALT + SHIFT + S -> प्रोजेक्ट स्टिरर -> उस मॉड्यूल को चुनें जिसे आप चाहते हैं कि एक जार जोड़ें -> डिपेंडेंसेंडीज़ -> मॉड्यूल डिपेंडेंसी। build.gradle का मॉड्यूल अपने आप अपडेट हो जाएगा। यहां छवि विवरण दर्ज करें


अच्छा लगा। एक संपादन - अब यह "नया मॉड्यूल" है (Android Studio 1.0.1)। "इंपोर्ट मॉड्यूल" आपको एक अलग विज़ार्ड में भेजता है ..
अवीव बेन शाबात

7

Ive 3 चरणों से ऊपर किया गया है और मेरे लिए इसका कार्य आकर्षण है।

(मैं एंड्रॉइड स्टूडियो 2.1.2 का उपयोग कर रहा हूं)

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

चरण 1

  • Build.gradle (मॉड्यूल: ऐप) के तहत ग्रेड बिल्ड स्क्रिप्ट में अपने जार पैकेज नाम (उदाहरण के रूप compile 'com.squareup.okhttp3:okhttp:3.3.1'में ) जोड़ें

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

चरण 2: ऐप फ़ोल्डर पर राइट क्लिक करें -> नया -> मॉड्यूल

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

चरण 3: आयात JAR / .AAR पैकेज पर क्लिक करें और फिर अपना पैकेज ब्राउज़ करें। एक उदाहरण के रूप में: OkHttp.jar

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


7

Android स्टूडियो 3+ के साथ:

आपको बस ऐप फ़ाइल के नीचे बस लिबर फ़ोल्डर में जार फ़ाइल को कॉपी करने में सक्षम होना चाहिए।

... myproject \ app \ libs \ myfile.jar

फिर प्रोजेक्ट विंडो पर ड्रॉप-डाउन से प्रोजेक्ट फाइल का चयन करें, प्रोजेक्ट पर राइट क्लिक करें, प्रोजेक्ट फाइल में फाइल को देखने के लिए सिंक्रोनाइज़ चुनें। यह स्वचालित रूप से ग्रेड फ़ाइल में निर्भरता जोड़ देगा (मॉड्यूल: ऐप)।

dependencies {
...
    implementation files('libs/myfile.jar')

यहाँ एक और उपाय है:

प्रोजेक्ट फ़ाइल दृश्य पर जाएं (ड्रॉपडाउन से प्रोजेक्ट फ़ाइलों का चयन करें)।

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

नई का चयन करें ... निर्देशिका, एप्लिकेशन के अंतर्गत एक फ़ोल्डर का निर्माण करें।

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

फ़ाइल एक्सप्लोरर को खोलें, अपनी जार फ़ाइल को लिबास फ़ोल्डर में कॉपी और पेस्ट करें।

एंड्रॉइड स्टूडियो में, जार फ़ाइल पर राइट क्लिक करें, और पॉपअप मेनू से लाइब्रेरी ... के रूप में जोड़ें चुनें।

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

आपको निर्भरता सूची में सूचीबद्ध फ़ाइल को gradle फ़ाइल में देखना चाहिए:

dependencies {
...
    implementation files('libs/myfile.jar')
}

अपनी जावा फ़ाइल खोलें, और वहाँ आयात विवरण जोड़ें:

import com.xxx.xxx;

7

एंड्रॉइड प्रोजेक्ट के फ़ोल्डर .jarमें फाइलें डालें libs

फिर एप्लिकेशन की ग्रेड फ़ाइल में कोड की इस पंक्ति को जोड़ें:

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

एंड्रॉइड ग्रेडल प्लगइन 3.0 और बाद के लिए, इसके बजाय इसका उपयोग करना बेहतर है:

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

7

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

हमें निम्न पर निर्भरता जोड़ने की आवश्यकता है:

निर्भरताएँ {कार्यान्वयन 'com.google.code.gson: gson: 2.2.4'}

हालाँकि, हम जार डाउनलोड कर सकते हैं और पुस्तकालय के रूप में जोड़ सकते हैं लेकिन ग्रेडल निर्भरता को जोड़ने के लिए सबसे अच्छा अभ्यास है।


5
menu File -> project struct -> module select "app" -> dependencies tab -> + button 
-> File dependency -> PATH/myfile.jar

5

चरण 1: अब आपके नीचे app folderआपको देखना चाहिए libs, यदि आप इसे नहीं देखते हैं, तो इसे बनाएं

चरण 2:, Drag & Drop the .jar file hereआपको एक संकेत मिल सकता है "This file does not belong to the project", बस OKबटन पर क्लिक करें।

स्टेप 3: अब आपको लिबर फोल्डर के नीचे जार फाइल दिखनी चाहिए, जार फाइल पर राइट क्लिक करें और सेलेक्ट करें"Add as library", Click OK for prompt "Create Library"

चरण 4: अब यह जार जोड़ा गया है।

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


4

एक फ़ोल्डर libs बनाएँ। अपनी .jar फ़ाइल जोड़ें। उस पर राइट क्लिक करें और आप ऐड जार को निर्भरता के रूप में पाएंगे। इस पर क्लिक करें। यह सब आपको करने की जरूरत है। आप अपनी build.gradle फ़ाइल में जोड़े गए निर्भरता पा सकते हैं।


4

1) प्रोजेक्ट / ऐप / src फ़ोल्डर के अंदर एक 'your_libs' फ़ोल्डर बनाएँ।

2) इस 'your_libs' फोल्डर में अपनी जार फाइल कॉपी करें

3) एंड्रॉइड स्टूडियो में, फ़ाइल -> प्रोजेक्ट संरचना -> निर्भरता -> जोड़ें -> फ़ाइल निर्भरता पर जाएं और अपनी जार फ़ाइल पर नेविगेट करें, जो 'src / your_libs' के अंतर्गत होनी चाहिए

3) अपनी जार फ़ाइल चुनें और 'Ok' पर क्लिक करें।

और फिर आप अपने बिल्ड.ग्रेड पर इस तरह देख सकते हैं: संकलित फ़ाइलें ('src / your_libs / your_jar')


4

एंड्रॉइड स्टूडियो में 1.1.0। मैंने इस प्रश्न को निम्नलिखित चरणों में हल किया है:

1: jar फाइल को libs directory में डालें। (खोजक में)

2: ओपन मोड्यूल सेटिंग्स, डिपेंडेंसीज पर जाएं, लेफ्ट-बॉटम कॉर्नर पर प्लस बटन है। प्लस बटन पर क्लिक करें और फिर "फ़ाइल निर्भरता" चुनें। क्या आप जार फ़ाइल देख सकते हैं। इसे चुनें और यह हल हो गया है।


4

मैंने यहां सभी उत्तर पढ़ लिए हैं और वे सभी एंड्रॉइड स्टूडियो के पुराने संस्करणों को कवर करते हैं!

एंड्रॉइड स्टूडियो 2.2.3 के साथ बनाई गई एक परियोजना के साथ मुझे केवल एक libsनिर्देशिका बनाने appऔर मेरे जार को वहां रखने की आवश्यकता थी। मैंने अपने फ़ाइल प्रबंधक के साथ ऐसा किया है, जिसे एंड्रॉइड स्टूडियो में कुछ भी क्लिक करने या संपादित करने की आवश्यकता नहीं है।

यह क्यों काम करता है? ओपन बिल्ड / संपादित पुस्तकालय और निर्भरता और आप देखेंगे:

{include=[*.jar], dir=libs}

3

Mac OS X पर:

  1. लाइब्रेरी को जार के रूप में जोड़ें (jar को lib में खींचें, lib के रूप में राइट क्लिक करें)

  2. में संकलन विवरण जोड़ें build.grade

  3. स्थापित करें gradle v1.6(होमब्रे का उपयोग करें )

    • काढ़ा स्थापित करें
    • gradle -v
    • यदि v1.6 नहीं है, तो होमब्रे को अपग्रेड करें
  4. स्वच्छ स्वच्छ (Android काम नहीं किया पुनर्निर्माण)

इसने मुझे बाहर कर दिया।


3

जैसा कि पहले बताया गया है कि आप जोड़ेंगे

compile files('libs/gson-2.2.3.jar') 

अपनी build.gradle फ़ाइल के लिए।

हालाँकि, मेरे पास एंड्रॉइड स्टूडियो में एक प्रोजेक्ट है जो एक्लिप्स से माइग्रेट किया गया था और इस मामले में "libs" फ़ोल्डर का नाम "lib" है इसलिए मेरे लिए "s" को हटाने से समस्या हल हो गई।


3
  1. libsके स्तर पर फ़ोल्डर जोड़ा गया app
  2. jarsइस परियोजना में सभी जोड़े गए ।
  3. इसके बाद, libsफ़ोल्डर में सभी जार चुने गए ,
  4. चयनित आइटम पर राइट क्लिक करें, और कहें add library
  5. तब आपको प्रोजेक्ट एक्सप्लॉयर के भीतर जार विस्तार का विकल्प मिलेगा।

मैंने CTRL+ ALT+ SHIFT+ S-> प्रोजेक्ट संरचना -> ऐप-मॉड्यूल -> निर्भरता "पहले से ही के (dir: 'libs', include: '*.jar')तहत एक प्रविष्टि दर्ज की थी compile-option, और ऊपर बताए गए चरणों के अनुसार जार जोड़ने के बाद, build.gradleनई के लिए प्रविष्टियां मिलीं। जार का, स्वयं।


3

में एंड्रॉयड स्टूडियो 2.1 मैं इस तरह से पालन करें,

गोटो ऐप -> src-> मुख्य -> एसेट्स फोल्डर (अगर उपलब्ध नहीं है तो बनाएं) -> अपनी JAR फाइलें डालें

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

अपने build.gradle में इस तरह निर्भरता जोड़ें,

implementation files('src/main/assets/jsoup.jar')
implementation files('src/main/assets/org-apache-xmlrpc.jar')
implementation files('src/main/assets/org.apache.commons.httpclient.jar')
implementation files('src/main/assets/ws-commons-util-1.0.2.jar')

अभी सिंक करें। अब आपकी JAR फाइलें उपयोग के लिए तैयार हैं।


आप लिबास निर्देशिका का उपयोग क्यों नहीं करते हैं?
डेनी एर्डिनेव

@ErdeniErdyneev मैं जार फ़ाइलों को संग्रहीत करने के लिए एक और दृष्टिकोण देता हूं। मैं परिसंपत्तियों का उपयोग क्यों नहीं कर रहा हूं? मेरे दृष्टिकोण में कोई समस्या? मैं गलत होने पर सही करने के लिए तैयार हूं
रंजीथ कुमार

3

नए एंड्रॉइड 1.0.2 के लिए निम्न आपके बिल्ड.ग्रेड फ़ाइल में पहले से ही मौजूद है

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

लायब्रेरी जार को अपने लिबर्स फोल्डर में जोड़ें -> लाइब्रेरी पर राइट क्लिक करें -> लाइब्रेरी के रूप में ऐड क्लिक करें -> यह आपको प्रोजेक्ट के लिए इसे जोड़ने के लिए कहता है -> अपने प्रोजेक्ट का चयन करें-> ओके पर क्लिक करें निम्नलिखित लाइन स्वचालित रूप से बनाने के लिए जोड़ दी जाती है .gradle

implementation files('libs/android-query.jar')

वो मेरे लिए किया गया। ज्यादा कुछ नहीं चाहिए था। मैंने इसे एंड्रॉइड एक्वीरी के लिए एंड्रॉइड के लिए एक और थर्ड पार्टी लाइब्रेरी दिखाया है।


2

मेरा उत्तर मूल रूप से ऊपर दिए गए कुछ सही लेकिन अधूरे उत्तरों को इकट्ठा कर रहा है।

  1. ओपन बिल्ड.ग्रेड
  2. निम्नलिखित जोड़ें:

    dependencies {
    compile 'com.android.support:appcompat-v7:19.+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.code.gson:gson:2.3'
    }

    यह निर्भरता को जोड़ने के दो अलग-अलग तरीकों के लिए समर्थन की अनुमति देगा। compile fileTree(dir: 'libs', include: ['*.jar'])(के रूप में उल्लेख किया @Binod) संकलक के तहत किसी भी जार के लिए फ़ोल्डर libs देखने के लिए कहता है। इस तरह के एक फ़ोल्डर 'लिबास' बनाने के लिए यह एक अच्छा अभ्यास है जिसमें जार पैकेज होंगे जो हमारे एप्लिकेशन को उपयोग करने की आवश्यकता है।

लेकिन यह मावेन निर्भरता के लिए समर्थन की अनुमति भी देगा। संकलन 'com.google.code.gson:gson:2.3'(जैसा कि @saneryee द्वारा उल्लेख किया गया है) यह निर्भरता को जोड़ने के लिए एक और अनुशंसित तरीका है जो एक केंद्रीय दूरस्थ भंडार में है और हमारे / स्थानीय "स्थानीय भंडार" में नहीं है। यह मूल रूप से उस पैकेज के संस्करण को देखने के लिए ढाल बता रहा है और यह संकलक को इस पर विचार करने के लिए कह रहा है जब परियोजना को संकलित किया जा रहा है (इसे क्लासपाथ में रखा गया है)

पुनश्च: मैं दोनों का उपयोग करता हूं

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