मैं एंड्रॉइड स्टूडियो में लाइब्रेरी प्रोजेक्ट कैसे जोड़ूं?

Alexander Kulyakhtin 08/22/2017. 29 answers, 544.786 views
android android actionbarsherlock android-library android-studio android-studio

मैं एंड्रॉइड स्टूडियो में लाइब्रेरी प्रोजेक्ट (जैसे शर्लक एबीएस) कैसे जोड़ूं?

(पुराने एडीटी ग्रहण आधारित बंडल के लिए नहीं, बल्कि नए एंड्रॉइड स्टूडियो के लिए ।)

4 Comments
25 Daniel Smith 05/21/2013
हाँ यह पता लगाने से यह अधिक भ्रमित था कि यह होना चाहिए था ... ऐसा नहीं है कि यह ग्रहण में बेहतर था।
3 user1785900 01/19/2014
यूट्यूब वीडियो How to Add Libraries to Android Studio प्रक्रिया को बताता है।
1 craned 10/16/2014
यदि आप Gradle का उपयोग कर रहे हैं, तो इस स्टैक ओवरफ्लो उत्तर को देखें।
1 Simon 12/20/2014
यहां एक वीडियो है जो मैंने वास्तव में उपयोगी पाया: youtube.com/watch?v=1MyBO9z7ojk

29 Answers


froger_mcs 05/23/2017.

Update for Android Studio 1.0

चूंकि एंड्रॉइड स्टूडियो 1.0 जारी किया गया था (और v1.0 के बीच कई संस्करण और मेरे पिछले उत्तर के समय से पहले में से एक संस्करण) कुछ चीजें बदल गई हैं।

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

हाथ से अपनी परियोजना में लाइब्रेरी जोड़ने शुरू करने से पहले, बाह्य निर्भरता जोड़ने पर विचार करें। यह आपकी परियोजना संरचना में गड़बड़ नहीं करेगा। लगभग हर सुप्रसिद्ध एंड्रॉइड लाइब्रेरी एक मैवेन रिपोजिटरी में उपलब्ध है और इसकी स्थापना app/build.gradle फ़ाइल में कोड की केवल एक पंक्ति app/build.gradle है:

dependencies {
     compile 'com.jakewharton:butterknife:6.0.0'
} 

Adding the library

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

  1. एंड्रॉइड स्टूडियो निर्माता के माध्यम से एक नई परियोजना बनाएँ। मैंने इसे HelloWorld नाम दिया।
  2. एंड्रॉइड स्टूडियो द्वारा बनाई गई मूल परियोजना संरचना यहां दी गई है:
HelloWorld/
      app/
           - build.gradle  // local Gradle configuration (for app only)
           ...
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ... 
  1. रूट निर्देशिका ( HelloWorld/ ) में, नया फ़ोल्डर बनाएं: /libs जिसमें हम अपने बाहरी पुस्तकालयों को रखेंगे (यह चरण आवश्यक नहीं है - केवल क्लीनर प्रोजेक्ट संरचना को रखने के लिए)।
  2. नव निर्मित /libs फ़ोल्डर में अपनी लाइब्रेरी पेस्ट करें। इस उदाहरण में मैंने पेजरस्लाइडिंग टैबस्ट्रिप लाइब्रेरी का उपयोग किया था (बस गिटहब से ज़िप डाउनलोड करें, लाइब्रेरी निर्देशिका का नाम बदलें "पेजरस्लाइडिंग टैबस्ट्रिप" और इसकी प्रतिलिपि बनाएँ)। हमारी परियोजना की नई संरचना यहां दी गई है:
HelloWorld/
      app/
           - build.gradle  // Local Gradle configuration (for app only)
           ...
      libs/
           PagerSlidingTabStrip/
                - build.gradle // Local Gradle configuration (for library only)
      - build.gradle // Global Gradle configuration (for whole project)
      - settings.gradle
      - gradle.properties
      ... 
  1. अपनी लाइब्रेरी को include करने के लिए सेटिंग्स .gradle संपादित करें। यदि आप मेरे जैसे कस्टम पथ का उपयोग करते हैं, तो आपको हमारी लाइब्रेरी के लिए प्रोजेक्ट निर्देशिका को भी परिभाषित करना होगा। एक पूरी सेटिंग्स .gradle नीचे की तरह दिखना चाहिए:

    include ':app', ':PagerSlidingTabStrip'
    project(':PagerSlidingTabStrip').projectDir = new File('libs/PagerSlidingTabStrip') 

5.1 यदि आपको "डिफ़ॉल्ट कॉन्फ़िगरेशन" त्रुटि का सामना करना पड़ता है, तो चरण 5 के बजाय इसे आज़माएं,

include ':app'
    include ':libs:PagerSlidingTabStrip' 
  1. app/build.gradle में हमारी लाइब्रेरी प्रोजेक्ट को निर्भरता के रूप में जोड़ें:

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'
        compile project(":PagerSlidingTabStrip")
    } 

6.1। यदि आपने चरण 5.1 का पालन किया है, तो 6 के बजाय इसका पालन करें,

dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'

        compile project(":libs:PagerSlidingTabStrip")
    } 
  1. यदि आपकी लाइब्रेरी प्रोजेक्ट में build.gradle फ़ाइल नहीं है तो आपको इसे मैन्युअल रूप से बनाना होगा। यहां उस फ़ाइल का उदाहरण दिया गया है:

    apply plugin: 'com.android.library'
    
        dependencies {
            compile 'com.android.support:support-v4:21.0.3'
        }
    
        android {
            compileSdkVersion 21
            buildToolsVersion "21.1.2"
    
            defaultConfig {
                minSdkVersion 14
                targetSdkVersion 21
            }
    
            sourceSets {
                main {
                    manifest.srcFile 'AndroidManifest.xml'
                    java.srcDirs = ['src']
                    res.srcDirs = ['res']
                }
            }
        } 
  2. इसके अतिरिक्त आप अपने प्रोजेक्ट के लिए वैश्विक कॉन्फ़िगरेशन बना सकते हैं जिसमें एसडीके संस्करण होंगे और प्रत्येक मॉड्यूल के लिए स्थिरता बनाए रखने के लिए टूल संस्करण बनाएं। बस gradle.properties फ़ाइल संपादित करें और लाइनें जोड़ें:

    ANDROID_BUILD_MIN_SDK_VERSION=14
    ANDROID_BUILD_TARGET_SDK_VERSION=21
    ANDROID_BUILD_TOOLS_VERSION=21.1.3
    ANDROID_BUILD_SDK_VERSION=21 

    अब आप इसे अपनी build.gradle फ़ाइलों (ऐप और लाइब्रेरी मॉड्यूल में) में नीचे उपयोग कर सकते हैं:

    //...
    android {
        compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
        buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION
    
        defaultConfig {
            minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION)
            targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
        }
    }
    //... 
  3. बस इतना ही। प्रोजेक्ट को ग्राडल आइकन के साथ सिंक्रनाइज़ करें पर क्लिक करें Gradle के साथ सिंक्रनाइज़ करें । आपकी लाइब्रेरी आपकी परियोजना में उपलब्ध होनी चाहिए।

Google I / O 2013 - नई एंड्रॉइड एसडीके बिल्ड सिस्टम ग्रैडल बिल्ड सिस्टम के साथ एंड्रॉइड ऐप्स बनाने के बारे में एक महान प्रस्तुति है: जैसा कि जेवियर ड्यूक्रॉहेट ने कहा:

एंड्रॉइड स्टूडियो संपादन, और डिबगिंग और प्रोफाइलिंग के बारे में सब कुछ है। यह अब और निर्माण के बारे में नहीं है।

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

5 comments
6 victor n. 05/24/2013
हे वहाँ, आप पूरी तरह से असली मुद्दा समझाया। अपने उत्तर को वोट देना ताकि अन्य लोग इसे देख सकें। एक मामूली बात जो मेरी तरफ काम नहीं करती है वह निर्भरता के निर्माण में सहायता लाइब्रेरी का संदर्भ दे रही है। जैसा कि यह पता चला है ': परियोजना / libs ...' किसी कारण से काम नहीं किया। मुझे परियोजना पहचान से दूर करना पड़ा। तो 'libs / ...'। और यह ठीक संकलित। एक नोट यह है कि पथ या परियोजनाओं के संदर्भ के इन दो तरीकों में भ्रमित है। मुझे उम्मीद है कि भविष्य में एक सरल और एकीकृत योजना आती है। मूल समाधान काम नहीं करेगा इसका कोई कारण नहीं है।
9 Akbar ibrahim 05/24/2013
+1। लंबे समय से इस के साथ संघर्ष कर रहा था। जैसा कि victor n ने कहा, एक्शनबर्सहेलॉक मॉड्यूल से मुख्य प्रोजेक्ट के समर्थन जार का संदर्भ नहीं है। मुझे इसे काम करने के लिए निम्नलिखित करना था ... (1) प्रोजेक्ट के build.gradle से संकलन फ़ाइलों को हटाएं ('libs / android-support-v4.jar') । मुख्य मॉड्यूल में केवल संकलन परियोजना होनी चाहिए (": पुस्तकालय: actionbarsherlock") । (2) संकलन फ़ाइलों (': HelloWorld / libs / android-support-v4.jar') को संकलित करने के बजाय संकलन फ़ाइलों को जोड़ें ('libs / android-support-v4.jar') actionbarsherlock के build.gradle में।
8 alicanbatur 11/07/2013
मेरे पास "ऑर्डर मॉड्यूल" अनुभाग क्यों नहीं है, जहां आप हमें निर्देशित करते हैं? मैं एंड्रॉइड स्टूडियो 0.3.1 का उपयोग कर रहा हूँ
5 amalBit 02/08/2014
आयात मॉड्यूल विकल्प गायब है !!
147 Kyle Gobel 10/19/2014
यह इतना भगवान भ्रमित क्यों है ?!

Sam Rad 07/01/2016.

दृश्य मार्गदर्शिका यहां दी गई है:

एंड्रॉइड स्टूडियो 0.8.2 के लिए Update :

एंड्रॉइड स्टूडियो 0.8.2 में, Project Structure -> Modules तहत बस प्लस बटन दबाएं और Import Existing Project करें और actionbarsherlock आयात करें actionbarsherlock । फिर अपनी ग्रैडल फ़ाइलों को सिंक्रनाइज़ करें।

अगर आपको त्रुटि का सामना करना पड़ता है

त्रुटि: एसडीके बिल्ड टूल्स संशोधन (xx.xx) बहुत कम है। न्यूनतम आवश्यक है yy.yy

बस actionbarsherlock निर्देशिका में build.gradle फ़ाइल खोलें और सुझाए गए एक को buildToolsVersion को अपडेट करें।

android {
  compileSdkVersion 19
  buildToolsVersion 'yy.y.y' 

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


मेनू File -> Project Structure... :

प्रथम

Module -> Import Module

दूसरा

लाइब्रेरी मॉड्यूल आयात करने के बाद, your प्रोजेक्ट मॉड्यूल का चयन your और निर्भरता जोड़ें:

तीसरा

और फिर imported module चयन करें:

आगे

5 comments
29 amalBit 02/08/2014
आयात मॉड्यूल विकल्प एंड्रॉइड स्टूडियो 4.3 में उपलब्ध नहीं है
3 toobsco42 08/25/2014
इस काम को बनाने और पैकेज को हल करने के लिए मेरे लिए कुंजी नहीं मिली त्रुटियां चरण थीं, Select your project module and add dependency dependencies { // ... compile project(':library') } Select your project module and add dependency dependencies { // ... compile project(':library') }
6 Rémy DAVID 10/06/2014
यह आपकी प्रोजेक्ट में लाइब्रेरी मॉड्यूल की प्रतिलिपि बनायेगा, जो आप नहीं चाहते हैं यदि आप कई परियोजनाओं के बीच साझा एक सामान्य कोड बेस चाहते हैं
CCJ 11/13/2015
@amalBit हैं ... क्या आप भविष्य से हैं? लेकिन गंभीरता से, उन्हें इस सरल को बनाने की आवश्यकता है जैसे ग्रहण एडीटी में था; जो एक तीसरे पक्ष के रेपो को मारना चाहता है और प्रत्येक निर्माण में मनमानी कोड (संभावित रूप से) संकलित करना चाहता है? यह गंभीरता से क्यूए और कोड-फ्रीज प्रोटोकॉल को कम करता है
amalBit 11/17/2015
एंड्रॉइड स्टूडियो 0.4.3 के बीटा दिनों के दौरान यह वापस आ गया था। प्रवेश के लिए तीसरे पक्ष के रेपो, आईडी कहते हैं, + का उपयोग करने से बचें। बस इच्छित संस्करण निर्दिष्ट करें। यदि आप अभी भी पर्याप्त भरोसा नहीं कर सकते हैं, तो आप किसी भी रेपो का एक जार (या क्लोन) बना सकते हैं और इसका इस्तेमाल कर सकते हैं।

Blackbelt 07/01/2016.

मेनू File उपयोग File -> Project Structure -> Modules

मैंने आज इसका इस्तेमाल करना शुरू कर दिया। यह थोड़ा अलग है।

शेरलॉक के लिए, शायद आप अपनी टेस्ट निर्देशिका को हटाना चाहते हैं, या junit.jar फ़ाइल को junit.jar जोड़ना चाहते हैं।

ग्रेडल का उपयोग करके लाइब्रेरी आयात करने के लिए, आपको इसे अपने build.gradle (मॉड्यूल के एक) के dependencies अनुभाग में जोड़ना होगा।

उदाहरण के लिए

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.1.0'
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
} 

एंड्रॉइड स्टूडियो बदल रहा है।

यदि आप एंड्रॉइड स्टूडियो के प्रोजेक्ट सेक्शन में मॉड्यूल फ़ोल्डर पर राइट-क्लिक करते हैं तो मैं "ओपन मॉड्यूल सेटिंग्स" नामक एक सेक्शन मौजूद हूं (मैं संस्करण 0.2.10 का उपयोग कर रहा हूं)।

5 comments
1 Alexander Kulyakhtin 05/16/2013
हम्म यह अभी भी एंड्रॉइड-एपीटी-कंपाइलर कहता है: style.xml: 5: त्रुटि: आइटम के लिए अभिभावक को पुनर्प्राप्त करने में त्रुटि: कोई संसाधन नहीं मिला जो दिए गए नाम 'थीम.Sherlock.Light.DarkActionBar' से मेल खाता है।
Blackbelt 05/16/2013
शेरलॉक मॉड्यूल के तहत -> निर्भरता मेरे पास एंड्रॉइड 4.2.2 है और समर्थन लाइब्रेरी v4 है
Blackbelt 05/16/2013
@ ρяσѕρєяK रन बटन के बगल में, एंड्रॉइड के साथ एक लेबल है। यदि आप वहां पर किक करते हैं तो आपको कॉन्फ़िगरेशन संपादित होगा। पुश और लक्ष्य डिवाइस के नीचे "चयनकर्ता संवाद दिखाएं" पर क्लिक करें
7 fish 05/16/2013
हाय, मुझे एलेक्स की तरह ही समस्या है ("ग्रैडल: आइटम के लिए अभिभावक को पुनर्प्राप्त करने में त्रुटि: कोई संसाधन नहीं मिला है जो दिए गए नाम 'थीम.Sherlock.Light' से मेल खाता है।") - जावा निर्भरता सही ढंग से हल हो रही है, क्योंकि इसका कारण बनता है आईडीई मेरी शेरलॉक एक्टिविटी को दोष नहीं देता है, लेकिन किसी कारण से ग्रैडल एबीएस के संसाधनों को नहीं देखता है। कोई विचार?
4 Konrad Morawski 09/15/2013
एंड्रॉइड स्टूडियो 0.2.8 पर Project Structure विंडो में कोई Modules अनुभाग नहीं है।

Jonathan Lin 10/14/2013.

मैं निर्भरता, एंड्रॉइड पुस्तकालयों और मल्टी-प्रोजेक्ट सेटअप को आवश्यक पढ़ने पर विचार करूंगा। ऐसा करने के लिए कृपया कुछ मिनट दें।

विशेष रूप से, गैर-जार लाइब्रेरी प्रोजेक्ट के मामले में, उपरोक्त स्रोत से निम्न स्निपेट पढ़ें:

ग्रैडल प्रोजेक्ट एक बहु-परियोजना सेटअप का उपयोग कर अन्य ग्रेडल परियोजनाओं पर भी निर्भर कर सकते हैं। एक मल्टी-प्रोजेक्ट सेटअप आमतौर पर सभी परियोजनाओं को किसी दिए गए रूट प्रोजेक्ट के उप फ़ोल्डर्स के रूप में काम करता है।

उदाहरण के लिए, निम्नलिखित संरचना को दिया गया है:

MyProject/
 + app/
 + libraries/
    + lib1/
    + lib2/ 

हम 3 परियोजनाओं की पहचान कर सकते हैं। ग्रैडल उन्हें निम्नलिखित नाम से संदर्भित करेगा:

:app
:libraries:lib1
:libraries:lib2 

प्रत्येक परियोजनाओं का अपना निर्माण होगा। यह घोषणा करता है कि यह कैसे बनाया जाता है। इसके अतिरिक्त, परियोजनाओं की घोषणा की जड़ पर सेटिंग्स.ग्रेडल नामक एक फ़ाइल होगी। यह निम्नलिखित संरचना देता है:

MyProject/
 | settings.gradle
 + app/
    | build.gradle
 + libraries/
    + lib1/
       | build.gradle
    + lib2/
       | build.gradle 

सेटिंग्स.ग्रैडल की सामग्री बहुत सरल है:

include ':app', ':libraries:lib1', ':libraries:lib2' 

यह परिभाषित करता है कि कौन सा फ़ोल्डर वास्तव में एक ग्रैडल प्रोजेक्ट है।

: ऐप प्रोजेक्ट पुस्तकालयों पर निर्भर होने की संभावना है, और यह निम्नलिखित निर्भरताओं की घोषणा करके किया जाता है:

dependencies {
    compile project(':libraries:lib1')
} 

कृपया ध्यान दें कि ऐसा करने के लिए एंड्रॉइड स्टूडियो जीयूआई का बहुत कम या कोई उपयोग नहीं था।

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

4 comments
Jonathan Lin 10/14/2013
अगर आपको यह सहायक लगता है तो कृपया ऊपर उठो, ताकि अन्य दर्द से बच सकें और तेजी से आगे बढ़ सकें।
RichieHH 03/24/2014
बहुत उपयोगी और, सबसे महत्वपूर्ण बात यह है कि दिन के गुई सनकी में नहीं खेलें।
1 dcunited001 04/20/2014
एकमात्र उत्तर शामिल करने के लिए बहुत बहुत धन्यवाद जो समझ में आता है। हर दूसरे उत्तर पुराना है और बस काम नहीं करता है। मैंने वर्जीनिया टेक में सीएस में भी कोशिश नहीं की क्योंकि पूरे पहले दो साल ग्रहण में चारों ओर क्लिक करने के लिए सीख रहे थे। यह किसी भी तरह की समझ में नहीं आया, लेकिन एक आईडीई में यादृच्छिक क्लिक के क्रमिक परिणाम देख रहा है।
velis 06/01/2015
गिट submodules टिप के लिए धन्यवाद। मैं पहले जंक्शन का उपयोग कर रहा था, लेकिन अब एसवीएन बाहरी में स्विच कर चुका हूं। एक जादू की तरह काम करता है।

René Michel 07/01/2016.

मुझे अभी एक आसान तरीका मिला है (सीधे .gradle फ़ाइलों में लिखने के बजाय)।

यह एंड्रॉइड स्टूडियो 1.1.0 के लिए है।

  1. मेनू File -> New Module... :

    मौजूदा परियोजना आयात करें

    "मौजूदा परियोजना आयात करें" पर क्लिक करें।

  2. वांछित पुस्तकालय और वांछित मॉड्यूल का चयन करें।

  3. खत्म क्लिक करें। एंड्रॉइड स्टूडियो आपके प्रोजेक्ट में लाइब्रेरी आयात करेगा। यह gradle फ़ाइलों को सिंक करेगा।

  4. आयातित मॉड्यूल को अपनी परियोजना की निर्भरताओं में जोड़ें।

    ऐप फ़ोल्डर पर राइट क्लिक करें -> ओपन मॉड्यूल सेटिंग्स -> निर्भरता टैब पर जाएं -> '+' बटन पर क्लिक करें -> मॉड्यूल निर्भरता पर क्लिक करें।

    पुस्तकालय मॉड्यूल को परियोजना की निर्भरताओं में जोड़ा जाएगा।

    पुस्तकालय मॉड्यूल जोड़ें

  5. ???

  6. फायदा


Vilen 07/01/2016.

बाहरी लाइब्रेरी प्रोजेक्ट को शामिल करने का सबसे आसान तरीका यह है (उदाहरण के लिए एक फेसबुक लाइब्रेरी को शामिल करना जो निर्भरता फ़ोल्डर में एक निर्देशिका को संग्रहीत करता है):

  1. सेटिंग्स में .gradle जोड़ें

    include ':facebook'
    
    project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK') 
  2. Build.gradle निर्भरता अनुभाग में, जोड़ें

    compile project ('facebook') 

करने के लिए छोड़ दिया सभी परियोजनाओं को gradle फ़ाइलों के साथ सिंक्रनाइज़ करें।

4 comments
Rajnish Mishra 03/23/2015
हाय विलेन सेटिंग्स क्या है यहाँ
Vilen 04/02/2015
हाय रजनीश प्रलेखन से: सेटिंग्स डीआईआर बिल्ड की सेटिंग्स निर्देशिका देता है। सेटिंग्स निर्देशिका निर्देशिका फ़ाइल युक्त निर्देशिका है। रिटर्न: सेटिंग्स निर्देशिका। कभी शून्य नहीं देता है।
Rajnish Mishra 04/03/2015
पहले / निर्भरता से पहले दो बिंदुओं की देखभाल करने के लिए अधिक महत्वपूर्ण हैं आपका उत्तर मुझे बहुत मदद करता है .. धन्यवाद
Solata 11/18/2015
NOTE: ग्रेडल में स्ट्रिंग मूल्यांकन के लिए आपको डबल कोट (") का उपयोग करना होगा। यह मेरे लिए" दिन बचाएं "। इससे जुड़ा हुआ है

Eugene Bosikov 07/01/2016.

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

ए) अपनी * .jar फ़ाइलों की प्रतिलिपि बनाएँ

बी) अपनी परियोजनाओं के तहत libs निर्देशिका में पेस्ट करें:

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

सी) build.gradle में जोड़ें:

dependencies {
    ...
    compile files('libs/ScanAPIAndroid.jar', 'libs/ScanAPIFactoryAndroid.jar', .., ..)
} 

बी) यदि आपकी परियोजना उदाहरण com.example.MYProject और लाइब्रेरी com.example.ScanAPI के पास समान नामस्थान com.example है , तो एंड्रॉइड स्टूडियो आपके निर्माण की जांच करेगा और आपके प्रोजेक्ट में सभी आवश्यक परिवर्तन करेगा। उसके बाद आप मेनू में इन सेटिंग्स की समीक्षा कर सकते हैं File -> Project Structure

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

याद रखें कि "प्रोजेक्ट स्ट्रक्चर" विकल्प एंड्रॉइड स्टूडियो (0.2.3) के वर्तमान संस्करण में "build.gradle" में कोई भी ऑटो बदलाव नहीं कर रहा है। शायद यह सुविधा अगले संस्करणों में उपलब्ध होगी।


pathe.kiran 06/27/2016.

विकल्प 1: परियोजना के libs / निर्देशिका में ड्रॉप फ़ाइलें

प्रासंगिक build.gradle फ़ाइल तब स्वचालित रूप से अपडेट हो जाएगी।

विकल्प 2: मैन्युअल रूप से build.gradle फ़ाइल संशोधित करें

अपनी build.gradle फ़ाइल खोलें और निर्भरता बंद करने के लिए एक नया निर्माण नियम जोड़ें। उदाहरण के लिए, यदि आप Google Play सेवाओं को जोड़ना चाहते हैं, तो आपके प्रोजेक्ट की निर्भरता अनुभाग इस तरह कुछ दिखाई देगा:

dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.google.android.gms:play-services:6.5.+'
   } 

विकल्प 3: एंड्रॉइड स्टूडियो के यूजर इंटरफेस का प्रयोग करें

प्रोजेक्ट पैनल में, नियंत्रण + उस मॉड्यूल पर क्लिक करें जिसे आप निर्भरता जोड़ना चाहते हैं और ओपन मॉड्यूल सेटिंग्स का चयन करें।

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

नीचे-बाएं कोने में + बटन के बाद निर्भरता टैब का चयन करें। आप विकल्पों की निम्नलिखित सूची से चुन सकते हैं:

  • पुस्तकालय निर्भरता
  • फ़ाइल निर्भरता
  • मॉड्यूल निर्भरता

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

एक बार जब आप अपनी निर्भरता जोड़ लेंगे, तो अपनी मॉड्यूल-स्तरीय build.gradle फ़ाइल देखें। इसे नई निर्भरता को शामिल करने के लिए स्वचालित रूप से अपडेट होना चाहिए था।

स्रोत


drewan50 07/01/2016.

यदि आपको लाइब्रेरी प्रोजेक्ट के संसाधनों तक पहुंच की आवश्यकता है (जैसा कि आप एबीएस के साथ करते हैं) सुनिश्चित करें कि आप लाइब्रेरी प्रोजेक्ट / मॉड्यूल को "लाइब्रेरी" के बजाय "मॉड्यूल निर्भरता" के रूप में जोड़ दें।

1 comments
1 cosimo 04/01/2014
हाँ! आप सर जीतते हैं इंटरनेट! धन्यवाद! मैंने बस अपने जीवन के कुछ घंटों बर्बाद कर दिए हैं क्योंकि मुझे यह नहीं पता था।

pandabear 07/01/2016.

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

प्रोजेक्ट में जहां आप बाहरी लाइब्रेरी प्रोजेक्ट जोड़ना चाहते हैं, मेनू पर जाएं -> New -> * नया मॉड्यूल आयात करें **, लाइब्रेरी प्रोजेक्ट पर नेविगेट करें जिसे आप अपनी प्रोजेक्ट में जोड़ना चाहते हैं, 'लाइब्रेरी' मॉड्यूल जोड़ने के लिए चुनें आपका प्रोजेक्ट। आपको अपनी परियोजनाओं में settings.gradle मिल जाएगी। ऐप के बगल में, लाइब्रेरी शामिल है, इस तरह कुछ:

include ':app', ':library' 

निर्भरता अनुभाग में build.gradle(Module :app) में जोड़ें:

Compile project(':library')

परियोजना को पुनर्निर्माण करें, और यही वह है।

* आप जितनी चाहें उतने पुस्तकालयों (मॉड्यूल) जोड़ सकते हैं। उस मामले में सेटिंग्स में। Gradle आप होगा:

include ':app', ':lib1', ':lib2', ... 

और build.gradle में, आपको यह करना होगा:

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

    // Some other dependencies...

    compile project(':lib1')
    compile project(':lib2')
    ...
} 

Adiii 07/01/2016.

आप इसे आसानी से कर सकते हैं। मेनू पर जाएं File -> New -> Import Module... :

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

निर्देशिका के लिए ब्राउज़ करें जिसमें मॉड्यूल शामिल है। समाप्त क्लिक करें:

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

Project Structure जाएं और Module Dependency जोड़ें:

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

नोट: यदि आपको एसडीके त्रुटि मिलती है, तो उसे अपडेट करें।


Dalmas 06/27/2016.

उत्तर में जोड़ने के लिए: यदि आईडीई कोई त्रुटि नहीं दिखाता है, लेकिन जब आप संकलन करने का प्रयास करते हैं, तो आपको कुछ मिलता है:

No resource found that matches the given name 'Theme.Sherlock.Light' 

आपकी लाइब्रेरी प्रोजेक्ट शायद एक एप्लिकेशन प्रोजेक्ट के रूप में संकलित है। इसे बदलने के लिए, यहां जाएं:

मेनू File -> Project structure -> Facets -> [लाइब्रेरी नाम] -> "लाइब्रेरी मॉड्यूल" की जांच करें।


crossle 07/01/2016.
  1. Project Structure दिखाने के लिए एफ 4 दबाएं, पुस्तकालयों या वैश्विक पुस्तकालयों पर क्लिक करें, और जेएआर फ़ाइल जोड़ने के लिए + पर क्लिक करें।
  2. मॉड्यूल पर क्लिक करें जिसे आप जार जोड़ना चाहते हैं, Dependencies टैब का चयन करें, + पर क्लिक करें, और लाइब्रेरी जोड़ें।

Shakti Malik 07/01/2016.

जीयूआई के माध्यम से संपादन लाइब्रेरी निर्भरता सलाह नहीं दी जाती है क्योंकि यह आपके build.gradle फ़ाइल में उन परिवर्तनों को नहीं लिखता है। तो आपकी परियोजना कमांड लाइन से नहीं बन जाएगी। हमें build.gradle फ़ाइल को निम्नानुसार संपादित करना चाहिए।

उदाहरण के लिए, निम्नलिखित संरचना को दिया गया है:

मेरी परियोजना/

  • एप्लिकेशन /
  • पुस्तकालयों /
    • lib1 /
    • lib2 /

हम तीन परियोजनाओं की पहचान कर सकते हैं। ग्रैडल उन्हें निम्नलिखित नामों के साथ संदर्भित करेगा:

  1. : एप्लिकेशन
  2. : पुस्तकालयों: lib1
  3. : पुस्तकालयों: lib2

: ऐप प्रोजेक्ट पुस्तकालयों पर निर्भर होने की संभावना है, और यह निम्नलिखित निर्भरताओं की घोषणा करके किया जाता है:

dependencies {
    compile project(':libraries:lib1')
} 
2 comments
Alexander Kulyakhtin 05/23/2013
वास्तव में? अजीब, उनके पास पूरी जीयूआई है और फिर भी यह सलाह नहीं दी जाती है। ऐसा कैसे?
Shakti Malik 05/23/2013
चूंकि जीयूआई के माध्यम से संपादन आपके build.gradle फ़ाइल में उन परिवर्तनों को नहीं लिखता है। जीयूआई संपादन केवल इंटेलिजे के अपने प्रोजेक्ट डेटा में बदलाव बचाता है। इस समय यह एक बग है जिसे भविष्य में रिलीज में तय किया जाएगा। आप Google एंड्रॉइड-स्टूडियो टीम लीड stackoverflow.com/questions/16678447/.. से इस उत्तर का उल्लेख कर सकते हैं।

Erwan 05/17/2013.

एबीएस मॉड्यूल (फ़ाइल> परियोजना संरचना से) आयात करने के बाद और सुनिश्चित करें कि इसमें एंड्रॉइड 2.2 और समर्थन लाइब्रेरी v4 निर्भरता के रूप में है, मुझे अभी भी निम्न त्रुटि मिल रही है जैसे आप @Alex

Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light.DarkActionBar' 

मैंने नए आयातित मॉड्यूल को अपने मुख्य ऐप मॉड्यूल पर निर्भरता के रूप में जोड़ा और समस्या को ठीक किया।

3 comments
christiaanderidder 05/19/2013
मैंने मॉड्यूल को निर्भरता के रूप में जोड़ने के सभी चरणों की कोशिश की लेकिन मेरे पास अभी भी Gradle: Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light'. । ऐसा लगता है कि मेरी मुख्य परियोजना लाइब्रेरी प्रोजेक्ट (एबीएस) के संसाधनों को नहीं देखती है। आईडीई हालांकि कक्षाओं और संसाधनों के संदर्भों को पहचानता है। स्क्रीनशॉट
Calvin Chan 06/04/2013
मुझे भी। इसे हल कौन कर सकता है?
Dmitriy Tarasov 06/06/2013
मैं 12 से आईडीईए 13 में माइग्रेट कर रहा हूं और यह त्रुटि भी है। मेरी सभी निर्भरताओं के लिए केवल पुनः आयात करने में मदद मिलेगी। सभी मॉड्यूल को मैन्युअल रूप से हटाएं, संबंधित * .iml फ़ाइलों को हटाएं और अपनी libs को दोबारा आयात करें

azh 02/09/2014.

इस समस्या को हल करने के लिए, आपको बस अपनी परियोजना निर्माण फ़ाइल में abs संसाधन पथ जोड़ने की आवश्यकता है, जैसा कि नीचे दिया गया है:

sourceSets {
    main {
        res.srcDirs = ['src/main/res','../../ActionBarSherlock/actionbarsherlock/res']
    }
} 

तो, मैं फिर से किसी भी त्रुटि के बिना संकलित।


Hemant 07/01/2016.

First Way यह मैकबुक के लिए काम कर रहा है।

पहले दिए गए स्क्रीन के रूप में अपनी builder.gradle फ़ाइल का चयन करें:

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

चयनित स्क्रीन पर निर्भरता जोड़ें:

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

सिंक परियोजना का चयन करें।

अगर आपको "पथ के साथ परियोजना" जैसी त्रुटि मिल रही है: हस्ताक्षर-पैड 'प्रोजेक्ट': ऐप 'में नहीं मिला, तो कृपया दूसरे तरीके का उपयोग करें:

मेनू File चयन करें -> New -> Import Module... :

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

Import Module पर क्लिक करने के बाद,

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

लाइब्रेरी का मार्ग दें जैसे कि मेरे मैकबुक पथ:

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

Finish पर क्लिक Finish । अब आपकी लाइब्रेरी जोड़ दी गई है।


Braunster 02/09/2014.

यदि आपके पास एंड्रॉइड स्टूडियो है .0.4.0, तो आप अपने बिल्ड पथ, YourApp/libraries में एक नया फ़ोल्डर बना सकते हैं। जेएआर फ़ाइल की प्रतिलिपि बनाएँ। इसमें, राइट क्लिक करें और "लाइब्रेरी के रूप में जोड़ें" पर क्लिक करें। अब आपके पास एक पॉपअप है। बस अपनी निर्देशिका का चयन करें और ठीक दबाएं, और यही वह है।


ankitbumblebee 07/01/2016.

https://www.dropbox.com/s/1e3eteu3h0pmkf7/Android%20studio%20_doc.doc?dl=0 एंड्रॉइड स्टूडियो 1.0.1 के नवीनतम संस्करण में एक जेएआर फ़ाइल और लाइब्रेरी प्रोजेक्ट को जोड़ने का ड्रॉपबॉक्स लिंक है।

स्क्रीनशॉट के साथ दस्तावेज देखें। यह एक नए उपयोगकर्ता के लिए बहुत आसान है।


passsy 05/23/2017.

मुझे समाधान मिला। यह बहुत आसान हैं। Froger_mcs निर्देशों का पालन करें

सुनिश्चित करें कि आप प्रोजेक्ट स्ट्रक्चर -> मॉड्यूल (स्रोत) में src फ़ोल्डर को स्रोत फ़ोल्डर बनाते हैं

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


voghDev 05/23/2017.

सफलतापूर्वक एक और लाइब्रेरी (PullToRefresh) जोड़ने का एक उदाहरण। एबीएस libproject के लिए भी काम करता है।

यह SO सवाल है

ये पद


Mohammad 05/23/2017.

असल में, आप अपनी जेएआर फाइलों को तीन अलग-अलग तरीकों से शामिल कर सकते हैं। अंतिम एक दूरस्थ पुस्तकालय है जो https://bintray.com/ jcenter ऑनलाइन भंडार का उपयोग कर रहा है। लेकिन, यदि आप इसे दो अन्य तरीकों में से एक में करते हैं, तो JAR फ़ाइल को आपके प्रोजेक्ट में शारीरिक रूप से शामिल किया जाएगा। अधिक जानकारी के लिए कृपया इस लिंक को https://stackoverflow.com/a/35369267/5475941 पढ़ें। इस पोस्ट में मैंने समझाया कि एंड्रॉइड स्टूडियो में अपनी जेएआर फ़ाइल कैसे आयात करें और मैंने सभी संभावित तरीकों को समझाया।

संक्षेप में, यदि यह इस तरह (स्थानीय पता) है, तो वे डाउनलोड होते हैं और ये जेएआर फाइलें भौतिक रूप से परियोजना में हैं:

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

लेकिन, अगर यह इस तरह का एक इंटरनेट पता है, तो वे दूरस्थ पुस्तकालय (bintray.com जांसर भाग) हैं और इन्हें दूरस्थ रूप से उपयोग किया जाएगा:

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

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


Jinu 06/27/2016.

बिल्ड ग्रेडल मॉड्यूल ऐप फ़ाइल खोलें और अपनी निर्भरता जोड़ें। यदि आप लाइब्रेरी डाउनलोड करते हैं, तो बस धीरे-धीरे आयात करें और बनाएं।

अन्यथा साइड ग्रेडल मॉड्यूल ऐप में रिपॉजिटरीज जोड़ें:

repositories {
        maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }
} 

पहली रिपॉजिटरीज आपके लिए लाइब्रेरी डाउनलोड करेगी।

और डाउनलोड लाइब्रेरी संकलित करें:

compile ('com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar') {
        transitive = true
    } 

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


Dharmendra Pratap 06/27/2016.

एंड्रॉइड स्टूडियो में, ऐप फ़ोल्डर में जाएं, और build.gradle फ़ाइल खोलें। यहां आप निर्भरता देखेंगे {}। इसके अंदर आप लाइब्रेरी प्रोजेक्ट जोड़ सकते हैं और सिंक्रनाइज़ कर सकते हैं। अब लाइब्रेरी को सिंक्रनाइज़ करने के बाद इसे आपके प्रोजेक्ट में जोड़ा जाएगा, और आप अपने प्रोजेक्ट में अपने फ़ंक्शंस और क्लासेस का उपयोग कर सकते हैं।


MAMASSI 07/01/2016.

एंड्रॉइड स्टूडियो के लिए:

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

Build.gradle (module: app) पर क्लिक करें।

और के लिए जोड़ें

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('libs/commons-io-2.4.jar')
} 

और अपनी निर्देशिका "ऐप" में, एक निर्देशिका बनाएं, "libs"। फ़ाइल जोड़ें yourfile.jar:

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

अंत में, ग्रैडल फ़ाइलों को संकलित करें:

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

1 comments
Badre 03/23/2016
दोस्त सम्मान: डी

Pankaj kumar 07/01/2016.

बस मॉड्यूल के रूप में और Build.gradle में एंड्रॉइड लाइब्रेरी प्रोजेक्ट आयात करें।

प्लगइन लागू करें: 'com.android.library'

उसके बाद, इन चरणों का पालन करें:

  1. मॉड्यूल पर राइट क्लिक करें और मॉड्यूल सेटिंग्स खोलें का चयन करें
  2. निर्भरता का चयन करें, + पर क्लिक करें, लाइब्रेरी निर्भरताओं का चयन करें, और पहले आयातित मॉड्यूल जोड़ें।

jobbert 07/01/2016.

लोगों के लिए समस्या का एक अलग कारण था:

repositories {
    mavenCentral()
} 

mavenCentral () को jcenter () में जोड़ें और जोड़ें

allprojects {
    repositories {
        jcenter()
    }
} 

मुझे भी एक ही समस्या का सामना करना पड़ा, फिर मैंने चीजों का पालन किया।

  1. मैं मेनू File का उपयोग कर मॉड्यूल के रूप में अपने एंड्रॉइडस्टूडियो आईडीई में लाइब्रेरी प्रोजेक्ट आयात करता हूं -> मॉड्यूल मेनू आयात करें

  2. तब मैं अपने मुख्य मॉड्यूल में गया जिसमें मैं पुस्तकालय परियोजना को एक निर्भर परियोजना के रूप में चाहता हूं

  3. मुख्य मॉड्यूल पर राइट क्लिक करें (मेरे मामले में इसका नाम app ) -> ओपन मॉड्यूल सेटिंग -> निर्भरता टैब पर जाएं -> + बटन पर क्लिक करें (आप इसे विंडो के दाहिने तरफ प्राप्त करेंगे) -> मॉड्यूल निर्भरता पर क्लिक करें - > सूची से अपनी लाइब्रेरी परियोजना का चयन करें

परिवर्तन लागू करें और ठीक बटन पर क्लिक करें।

यह मेरे लिए काम किया। मुझे उम्मीद है कि यह दूसरों की भी मदद करेगा।


monn3t 07/01/2016.

वास्तव में संस्करण बदल रहे हैं, इसलिए मेनू पर उपलब्ध यूजर इंटरफेस और विकल्प बदल रहा है। इन सवालों के अधिकांश जवाब पढ़ने के बाद मुझे अनुमान लगाया गया कि Android Studio 1.1.0 लिए क्या काम करेगा।

  1. अपने माउस के साथ, मुख्य स्तर पर प्रोजेक्ट का चयन करें (यह वह जगह है जहां यह आपके ऐप का नाम दिखाता है)।

  2. राइट क्लिक करें, और मेनू विकल्प New, Folder, Assets Folder चयन करें।

  3. संपत्ति फ़ोल्डर बनाने के बाद, इसमें पेस्ट या कॉपी करें, जो भी JAR फ़ाइल आपको अपनी लाइब्रेरी के लिए चाहिए।

  4. एंड्रॉइड स्टूडियो के मुख्य मेनू (स्क्रीन के शीर्ष) से File -> Project Structure चयन File

  5. फिर अपने प्रोजेक्ट का नाम चुनें और Dependencies टैब पर जाएं।

  6. संवाद बॉक्स के निचले बाएं भाग पर प्लस साइन ( + ) पर क्लिक करें और फ़ाइल निर्भरता का चयन करें।

  7. अंत में हाल ही में बनाए गए संपत्ति फ़ोल्डर को खोलें, आपके द्वारा कॉपी की गई JAR फ़ाइलों का चयन करें, और फिर लागू करें और ठीक क्लिक करें।

अपनी परियोजना को साफ और पुनर्निर्माण करें।

2 comments
1 Rajnish Mishra 03/23/2015
परिसंपत्तियों में जार की प्रतियां बनाना एक अच्छा विचार नहीं है, यह अनावश्यक रूप से एपीके आकार में वृद्धि करेगा
monn3t 04/12/2015
सलाह @ राजनिष मिश्रा के लिए धन्यवाद। मुझे संदेह है कि, लेकिन इसके बजाय आप क्या प्रस्तावित करते हैं?

Related questions

Hot questions

Language

Popular Tags