android - यकत - एंड्रॉइड स्टूडियो: पुस्तकालय के रूप में जार जोड़ें?




पुस्तकालय के कार्य (20)

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

मैं जेएसओएन-ऑब्जेक्ट्स को क्रमबद्ध / deserialize करने के लिए जीसन पुस्तकालय का उपयोग कर रहा हूँ। लेकिन किसी भी तरह पुस्तकालय निर्माण में शामिल नहीं है।

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

जब मैं प्रोजेक्ट चलाने की कोशिश करता हूं तो यह संकलित नहीं हो सकता है इसलिए मैंने जोड़ा:

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

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

क्या कोई जानता है कि मैं क्या गलत कर रहा हूं?

https://code.i-harness.com


1. जार (मेरे मामले में, gson-2.2.4.jar ) libs फ़ोल्डर में gson-2.2.4.jar

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

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

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


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

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

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

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

पूर्व: 'com.google.android.gms संकलित करें: play-services-ads: 9.4.0'

ग्रैडल निर्भरता मंगल के बारे में और पढ़ें


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

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


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

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

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


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

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

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

एंड्रॉइड स्टूडियो 1.1.0


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

एक परियोजना में पुस्तकालय जोड़ने के बारे में Intellij की मदद की जांच करें

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

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

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

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

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

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


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

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

ऐप्स ग्रिडल फ़ाइल में कोड की यह पंक्ति बाकी करेगी।

Happy Coding :)


एंड्रॉइड स्टुइडो में, मुझे जीसन लिब का प्रबंधन करने के लिए ग्रैडल का उपयोग करना पसंद है।

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

repositories {mavenCentral()}

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

सब कुछ ठीक है।

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


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


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

हमें निर्भरता जोड़ने की जरूरत है:

निर्भरता {compile 'com.google.code.gson: gson: 2.2.4'}

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


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

फ़ाइल संकलित करें (शामिल करें: ['* .jar'], dir: 'libs')

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

संकलन फ़ाइलें ('libs / android-query.jar')

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


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

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

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

1:

2:

3:

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


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

चरण -1: गोटो "बिल्ड> पुस्तकालयों और निर्भरताओं को संपादित करें ..." यह संवाद "परियोजना संरचना" खोल देगा

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

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

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

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

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


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

  1. ओपन build.gradle
  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 के अंतर्गत देखने के लिए कहता है। ऐसे फ़ोल्डर 'libs' बनाने के लिए यह एक अच्छा अभ्यास है जिसमें जार पैकेज शामिल होंगे जो हमारे एप्लिकेशन को उपयोग करने की ज़रूरत है।

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

पीएस: मैं दोनों का उपयोग करता हूं


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

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

चरण 1

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

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

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


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

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

ऊपरी दाएं कोने में "अभी सिंक करें" पर क्लिक करना न भूलें।

मैं एंड्रॉइड स्टूडियो 1.0.1 का उपयोग कर रहा हूँ।


मैक ओएस एक्स पर:

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

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

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

    • ब्रूड स्थापित ग्रेडल
    • gradle -v
    • यदि v1.6 नहीं है, तो होमब्रू को अपग्रेड करें
  4. धीरे-धीरे साफ़ करें (पुनर्निर्माण एंड्रॉइड काम नहीं किया)

यह मुझे हल किया।


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

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

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

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

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

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

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

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

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

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

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


compile fileTree(dir: 'libs', include: '*.jar') ठीक काम करता है लेकिन compile files(...) नहीं करता compile files(...) स्टूडियो बीटा 0.8.1 के साथ परीक्षण किया है


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

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

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

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

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






dependency-management