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


119

मैं अपने Android एप्लिकेशन में बाहरी लाइब्रेरी https://github.com/foursquare/foursquare-android-oauth जोड़ना चाहता हूं (मैं एंड्रॉइड स्टूडियो का उपयोग करता हूं, ग्रहण के लिए आवश्यक लेखक द्वारा दिए गए निर्देश एंड्रॉइड स्टूडियो के लिए काम नहीं करते थे)।

मैंने इसे मावेन के साथ करने की कोशिश की है, इसलिए फ़ाइल में-> प्रोजेक्ट संरचना-> मेरे द्वारा जोड़ी गई निर्भरताएँ com.foursquare:foursquare-android-nativeoauth-lib:1.0.0लेकिन ग्रेडल सिंक विफल रहता है:

Error:Failed to find: com.foursquare:foursquare-android-nativeoauth-lib:1.0.0

जब मैं अपने ऐप को बनाने की कोशिश करता हूं (त्रुटि के ऊपर फिक्स किए बिना क्योंकि मुझे नहीं पता कि मैं कैसे हूं):

Error:A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
> Could not resolve com.foursquare:foursquare-android-nativeoauth-lib:1.0.0.
 Required by:
    ForSquaresOnly:app:unspecified
   > Could not parse POM http://jcenter.bintray.com/com/foursquare/foursquare-android-nativeoauth-lib/1.0.0/foursquare-android-nativeoauth-lib-1.0.0.pom
     > Could not find any version that matches com.foursquare:parent:1.0.0.

इस lib को आयात करने का कोई अन्य तरीका? मैं बस अपने स्रोत में स्रोत कोड कॉपी-पेस्ट कर सकता हूं या उसमें से JAR बना सकता हूं?

BTW: यदि आप समस्याओं में भागते हैं तो इस प्रश्न को देखें (आयात करने के बाद मेरा यह मुद्दा था): मैनिफ़ेस्ट विलय विफल रहा: उपयोग-एसडीके: minSdkVersion 14


जवाबों:


96

इसे इस्तेमाल करे:

File> Project Structure> Dependencies Tab> Add module dependency( scope = compile)

जहां मॉड्यूल निर्भरता प्रोजेक्ट लाइब्रेरी एंड्रॉइड फ़ोल्डर है।


2
मैं इसे अनुभव और निरीक्षण से जानता हूं .... लेकिन इसमें डॉक्स उपलब्ध हैं: developer.android.com/sdk/installing/studio-build.html
malcubierre

26
नकल के बिना कोई ऐसा कैसे कर सकता है? लाइब्रेरी का उपयोग अन्य गैर-एंड्रॉइड परियोजनाओं द्वारा किया जाता है और नियमित रूप से अपडेट किया जाता है। यदि यह स्रोत को कॉपी करता है, तो मूल में परिवर्तन नहीं देखा जाएगा। क्या वह बेवकूफ नहीं है?
ब्रायन रेनहोल्ड

1
प्रोजेक्ट संरचना विकल्प कहाँ है?
zulkarnain shah

2
गधा मॉड्यूल निर्भरता मिला, लेकिन फिर मुझे डायलॉग मिला "मॉड्यूल चुनें \ n मॉड्यूल का चयन करें मौजूदा मॉड्यूल को इस पर निर्भर होना चाहिए: \ n [शो] ठीक है [रद्द]"। डाउनलोड की गई लाइब्रेरी का चयन करने में सक्षम नहीं है।
डेविड १६२ David

1
मैंने इस तरह से बाहरी पुस्तकालय जोड़ा है और एक त्रुटि मिली है "के लिए निर्भरता को हल करने में असमर्थ: 'app @ buildTypeUnitTest / compileClasspath': परियोजना को हल नहीं कर सका: zip_file।" निर्भरता में जनरेट कोड `कार्यान्वयन परियोजना (': zip_file')` है। इसके अलावा, मैं 'com.android.tools.build:gradle:3.2.0-rc03' और https \: //services.gradle.org/distributions/gradle-4.6-all.zip
Nikola

209

इन तरीकों में से एक आज़माएँ:

दृष्टिकोण 1)

1- प्रोजेक्ट व्यू चुनें

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

2- अपने JAR फ़ाइल को ऐप में कॉपी करें -> लिबास फोल्डर

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

3- अपनी JAR फाइल पर राइट क्लिक करें और लाइब्रेरी के रूप में ऐड चुनें

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

4- इसे build.gradle में चेक करें

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


दृष्टिकोण 2)

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

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

2- आयात .JAR / .AAR पैकेज

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

3- अपनी JAR फाइल को ब्राउज करें

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

4- समाप्त करें

5- फाइल -> परियोजना संरचना -> निर्भरता

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

6- आपको + बटन पर क्लिक करना चाहिए और फिर मॉड्यूल डिपेंडेंसी पर क्लिक करना चाहिए

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

7- आप यहां अपनी लाइब्रेरी देखेंगे

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

8- अपनी लाइब्रेरी चुनें और ओके पर क्लिक करें

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

9- इसके बाद, आप देखेंगे कि आपकी लाइब्रेरी जुड़ गई है।

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


पहले दो तरीकों के लिए, आपको एक JAR फाइल चाहिए। Android से संबंधित JAR फ़ाइलों को खोजने के लिए आप http://search.maven.org/ खोज सकते हैं। उदाहरण के लिए, इस लिंक में jdom के लिए यह खोज परिणाम है

Jdom के लिए खोज परिणाम


दृष्टिकोण 3) Android दूरस्थ पुस्तकालय के रूप में http://jcenter.bintray.com/ का उपयोग कर रहा है । उदाहरण के लिए, यह लिंक में jdom के लिए खोज परिणाम है।

jcenter jdom

इस दृष्टिकोण में एक पुस्तकालय जोड़ने के लिए, कृपया इन चरणों का पालन करें:

1- फाइल -> परियोजना संरचना -> निर्भरता

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

2- + बटन पर क्लिक करें और लाइब्रेरी निर्भरता चुनें

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

3- अपनी लाइब्रेरी ढूंढें और उसे चुनें, फिर ओके पर क्लिक करें।


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


13
सभी स्टैक ओवरफ्लो में सबसे अच्छा जवाब
mizerablebr

1
मुझे खुशी है कि आपको मेरा उत्तर उपयोगी लगा। मेरे लिए आपका फ़ीडबैक वाकई सराहनीय है।
मोहम्मद

1
मेरे लिए लगभग 2 काम करता है। दृष्टांतों के लिए धन्यवाद :)
हिचके एचर

1
आपका स्वागत है। मुझे खुशी है कि इस पोस्ट ने आपकी मदद की।
मोहम्मद

1
मुझे अपने एंड्रॉइड स्टूडियो 3.0.1 में चरण 3 में लाइब्रेरी विकल्प के रूप में ऐड नहीं मिला है
शिलेंद्र मद्दा

28

कॉपी के बिना किसी बाहरी परिवाद परियोजना को संदर्भित करने के लिए, बस यह करें: - इस पर 2 पंक्तियाँ डालें setting.gradle:

  include ':your-lib-name'
  project(':your-lib-name').projectDir = new File('/path-to-your-lib/your-lib-name)

इस लाइन को build.gradleफ़ाइल के निर्भरता भाग पर डालें :

compile project(':your-lib-name')

सिंक प्रोजेक्ट


1
महान जवाब, मूल पुस्तकालय के लिए एक लिंक बनाता है, ताकि जब भी पुस्तकालय कोड बदल जाए तो आपको उसे फिर से जारी नहीं करना पड़ेगा!
13

21

दो सरल तरीके हैं अगर एक काम नहीं करता है तो कृपया दूसरे को आज़माएं।

  1. build.gradleआपके द्वारा उपयोग की जा रही लाइब्रेरी की फ़ाइल के अंदर निर्भरता के अंदर लाइब्रेरी की निर्भरता जोड़ें , और अपनी लाइब्रेरी को बाहरी लाइब्रेरीज़ में पेस्ट करें।

या

  1. बस अपने libsफ़ोल्डर के अंदर जाओapp और .jarवहां अपनी सभी लाइक लाइब्रेरी फ़ाइलों को पेस्ट करें , अब यहां ट्रिक यह है कि अब settings.gradleफाइल के अंदर जाएं अब इस लाइन को जोड़ने के include ':app:libs'बाद include ':app'यह निश्चित रूप से काम करेगा।

19

इस lib को आयात करने का कोई अन्य तरीका? मैं बस अपने स्रोत में स्रोत कोड कॉपी-पेस्ट कर सकता हूं या उसमें से JAR बना सकता हूं?

एंड्रॉइड स्टूडियो 1.1 में एक पुस्तकालय आयात करने के लिए पूर्ण चरण

  1. गोटो फ़ाइल -> मॉड्यूल आयात करें।
  2. स्रोत निर्देशिका -> परियोजना पथ ब्राउज़ करें।
  3. मॉड्यूल नाम निर्दिष्ट करें
  4. Build.gradle (मॉड्यूल: ऐप) फ़ाइल खोलें
  5. अपने मॉड्यूल नाम के साथ निम्न पंक्ति जोड़ें

    संकलन परियोजना (': internal_project_name')

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


8

एक देर से जवाब, हालांकि मैंने इस सवाल का गहराई से जवाब देने के बारे में सोचा। यह विधि Android Studio 1.0.0 और इसके बाद के संस्करण के लिए उपयुक्त है।

कदम

  1. सबसे पहले अपने फोल्डर की संरचना को एंड्रॉइड से प्रोजेक्ट में स्विच करें ।

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

  1. अब के लिए खोजें ऐप - बिल्ड फ़ोल्डर के अंदर libs फ़ोल्डर की

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

  1. एक बार जब आप .jar फ़ाइल को libs फ़ोल्डर के अंदर पेस्ट कर लेते हैं। जार फ़ाइल पर राइट क्लिक करें और अंत में क्लिक करें में लाइब्रेरी के रूप में ऐड । यह build.gradle में संकलित फ़ाइलें ('libs / Library_name.jar') जोड़ने का ख्याल रखेगा [आपको मैन्युअल रूप से अपनी बिल्ड फ़ाइल में इसे दर्ज करने की आवश्यकता नहीं है]।

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

अब आप अपनी परियोजना में पुस्तकालय का उपयोग शुरू कर सकते हैं।


मेरे मामले में, पहले दृष्टिकोण का उपयोग करते हुए, मैंने सूची में लाइब्रेरी विकल्प के रूप में ऐड नहीं देखा था..लेकिन दूसरे विकल्प ने मेरे लिए काम किया। लेकिन मेरा सवाल यह है कि मेरे विकल्प में लाइब्रेरी ऑप्शन को क्यों नहीं जोड़ा गया
अब्दुल वहीद

बहुत मददगार धन्यवाद! नोट: एंड्रॉइड स्टूडियो को अपडेट करने के बाद "Add As Library" बटन अब सूची में सबसे नीचे नहीं है। यह अब नीचे से लगभग 5 वां है।
जेफ्रीमैन

8

मैंने भी इस समस्या का सामना किया था। मैंने उस समय कुछ कदम उठाए जैसे:

  1. File> New> Import module> select your library_project। फिर फाइल include 'library_project'में जोड़ा जाएगा settings.gradle

  2. File> Project Structure> App> Dependencies Tab> select library_project। यदि library_projectतब प्रदर्शित नहीं हो रहा है, +तो बटन पर क्लिक करें और फिर अपना चयन करें library_project

  3. अपने प्रोजेक्ट को साफ करें और उसका निर्माण करें। आपके ऐप मॉड्यूल में निम्नलिखित पंक्तियों को जोड़ा जाएगा build.gradle( संकेत: यह वह जगह नहीं है जहां classpathपरिभाषित किया गया है )।

 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile project(':library_project')
 }
  1. यदि ये लाइनें मौजूद नहीं हैं, तो आपको उन्हें मैन्युअल रूप से जोड़ना होगा और अपनी परियोजना को फिर से साफ और पुनर्निर्माण करना होगा ( Ctrl + F9)।

  2. library_projectआपके ऐप फ़ोल्डर में एक फ़ोल्डर बनाया जाएगा।

  3. यदि कोई आइकन या कार्य विलय त्रुटि बनी है, तो AndroidManifestफ़ाइल पर जाएं और जोड़ें<application tools:replace="icon,label,theme">


7

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

  1. यदि आप अपने प्रोजेक्ट में लिबररी प्रोजेक्ट निर्भरता जोड़ना चाहते हैं:

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

    B. अब अपना मुख्य मॉड्यूल (जैसे ऐप) फ़ाइल खोलें और निर्भरता अनुभाग निर्भरता में प्रोजेक्ट निर्भरता जोड़ें {

    संकलित परियोजना (': पुस्तकालय परियोजना का नाम')

  2. यदि आप जार फ़ाइल जोड़ना चाहते हैं: A. lib फ़ोल्डर में जार फ़ाइल जोड़ें। B. और निर्भरता जोड़ें

    संकलित फ़ाइलट्री (dir: 'libs', में शामिल हैं: '* .jar') // libar फ़ोल्डर से सभी jar फ़ाइल जोड़ें, यदि आप lib से विशेष जार जोड़ना चाहते हैं तो निर्भरता नीचे जोड़ें।

    संकलित फ़ाइलें ('libs / abc.jar')

  3. Url से निर्भरता जोड़ें (अनुशंसित)। पसंद

    संकलन 'com.mcxiaoke.volley: पुस्तकालय-आरा: 1.0.0'


हाय विनोद, क्या आप समझा सकते हैं कि URL के साथ निर्भरता कैसे जोड़ें? इसके अलावा, क्या यह एक जीआईटी URL हो सकता है जो यदि परिवर्तन से गुजरता है तो सीधे मेरी परियोजना में आयात हो जाता है? मैं इस विकास के लिए थोड़ा नया हूँ तो कृपया मेरे साथ सहन करें अगर यह एक आसान सवाल है :)
कटकम निखिल

हाय निखिल कृपया एंड्रॉइड निर्भरता संबंधित लेख पढ़ें जिसमें मैं डेवलपर का
विनोद

6

सबसे सरल तरीके के लिए बस इन चरणों का पालन करें

  1. पर जाएं File-> New-> Import Module->choose library or project folder

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

    include ':mylibraryName'

  3. फाइल पर जाएं -> प्रोजेक्ट स्ट्रक्चर -> ऐप -> डिपेंडेंसी टैब -> प्लस बटन पर क्लिक करें

  4. मॉड्यूल निर्भरता का चयन करें -> पुस्तकालय का चयन करें (आपके पुस्तकालय का नाम वहां प्रकट होना चाहिए) और गुंजाइश (संकलन या कार्यान्वयन) डालें

  5. निर्भरता अनुभाग में एप्लिकेशन स्तर मॉड्यूल में build.gradle में इस लाइन को जोड़ें

    implementation project(':mylibraryName')


3

यदि आपको जिस लाइब्रेरी की आवश्यकता है वह GitHub पर है तो इसे Android Studio में जोड़ना JitPack के साथ आसान है ।

चरण 1. build.gradle के लिए jitpack रिपॉजिटरी जोड़ें:

allprojects { 
  repositories {
    jcenter()
    maven { url "https://jitpack.io" }
  }
}

चरण 2. एक निर्भरता के रूप में GitHub भंडार जोड़ें:

dependencies {
    // ...
    compile 'com.github.Username:LibraryRepo:ReleaseTag'
}

जितपैक मावेन रिपॉजिटरी के रूप में कार्य करता है और इसका उपयोग मावेन सेंट्रल की तरह किया जा सकता है। अच्छी बात यह है कि अनुरक्षकों को पुस्तकालय अपलोड करने की आवश्यकता नहीं है। पर्दे के पीछे JitPack GitHub से कोड की जांच करेगा और उसे संकलित करेगा। इसलिए इसके लिए काम करने के लिए git रिपॉजिटरी में वर्किंग बिल्ड फ़ाइल होना आवश्यक है।

एंड्रॉइड लाइब्रेरी को कैसे प्रकाशित किया जाए, इस पर एक गाइड भी है


यह परियोजना के पेड़ में निर्भरता फ़ाइलों को स्टोर करने के लिए नहीं जा रहा है?
user7860670

2

एंड्रॉइड स्टूडियो उपयोग नहीं करता है Maven, यह उपयोग करता है Gradle, आप अपने को खोल सकते हैंbuild.gradle मार्ग होना चाहिए:/app/build.gradle और ग्रेडो निर्भरता को जोड़ें जो रेपो पर दिखाता है:

build.gradleएक है dependenciesअनुभाग:

dependencies {
    //here add your dependency
}

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

compile 'com.foursquare:foursquare-android-oauth:1.0.3'

केवल उस लाइन को अपने dependenciesपर जोड़ें buil.gradle, फ़ाइल को सहेजें, और एंड्रॉइड प्रोजेक्ट को फिर से बनाएगा, बस इतना ही


1
1.Goto File -> New -> Import Module
   2.Source Directory -> Browse the project path.
   3.Specify the Module Name  it is used for internal project reference.

Build.gradle (मॉड्यूल: ऐप) फ़ाइल खोलें।

 implementation project(':library')

1

इस वेबसाइट के साथ किसी भी गिथब प्रोजेक्ट को सिंगल लाइन ग्रेडेल कार्यान्वयन में बदल दें

https://jitpack.io/

उदाहरण के लिए, मुझे इस परियोजना की आवश्यकता थी: https://github.com/mik3y/usb-serial-for-android

मैंने जो भी किया था उसे अपनी ग्रेडेल फ़ाइल में पेस्ट किया था:

implementation 'com.github.mik3y:usb-serial-for-android:master-SNAPSHOT'

तुमने मुझे बचाया! :)। थैंक यू, थैंक यू ढेर सारी। यह आपके द्वारा बताई गई चाल से बहुत आसान है! : मैं आपका जवाब देखने से पहले 4 घंटे के लिए संघर्ष कर रहा था! :)
विक्टर

0

मुझे भी यही समस्या थी। यह मुख्य पुस्तकालय निर्भरता के कारण हुआ। मैं javax का उपयोग कर रहा था। *। यह वही है जो मैंने ठीक किया

फ़ाइल में-> प्रोजेक्ट स्ट्रक्चर-> निर्भरता मैंने इसे दी गई फ़ाइल के रूप में जोड़ा, न कि एक संकलन। फिर प्रोजेक्ट का निर्माण करें।

यह समस्या एंड्रॉइड स्टूडियो के उन्नयन के बाद शुरू हुई। लेकिन मुझे लगता है कि ऐसा तब होता है जब आप फ़ाइलों को मैन्युअल रूप से बनाने की कोशिश करते हैं।


0

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

Just Go to project -> then it has some android,package ,test ,project view

बस इसे प्रोजेक्ट व्यू में बदलें

के तहत app->lib folderआप सीधे कॉपी पेस्ट कर सकते हैं और एंड्रॉइड को सिंक्रनाइज़ कर सकते हैं। बस


कॉपी-पेमेंट को लाइक करें? इसका उथ एक गीथूब रेपो
ओडिस

0

1) बस यहाँ से अपना दायित्व प्राप्त करें http://search.maven.org/

2) ऐप डायरेक्टरी में एक लिबास फोल्डर बनाएं

3) वहां उर लाइब्रेरी पेस्ट करें

4) उर लाइब्रेरी पर राइट क्लिक करें और "लाइब्रेरी के रूप में जोड़ें" पर क्लिक करें

5) सभी यू करने की आवश्यकता है!

मुझे उम्मीद है कि यह आपकी मदद जरूर करेगा !!!!


0

नए ग्रेडल 4.1 में कुछ बदलाव हैं

संकलन के बजाय हमें कार्यान्वयन का उपयोग करना चाहिए

कार्यान्वयन 'com.android.support:appcompat-v7:26.0.0'


-1
  1. प्रोजेक्ट के build.gradle के रिपॉजिटरी सेक्शन में निम्नलिखित जोड़ें:
flatDir { dirs 'aars' } 
  1. आपकी निर्भरता में build.gradle का अनुभाग निम्नलिखित जोड़ें:

संकलन '[समूह आईडी]: [विरूपण साक्ष्य आईडी]: [संस्करण] @AR'

विभिन्न कार्य विशेषताओं के साथ [समूह आईडी] आदि की जगह

  1. aarsअपनी परियोजना निर्देशिका के तहत एक उप निर्देशिका बनाएँ

  2. [youlibrary].aar3. उपर्युक्त में बनाए गए उपनिर्देशिका पर कॉपी करें ।

  3. बनाएँ और आनंद लें!


-2

सरल अध्ययन में किसी भी पुस्तकालय को जोड़ने के लिए सरल चरण:

  1. अपने कंप्यूटर के किसी भी फ़ोल्डर से प्रश्न में फ़ाइल की प्रतिलिपि बनाएँ (जैसे। C: / documents/xyz.jar "), फिर एंड्रॉइड स्टूडियो में जाएं और प्रोजेक्ट लाइब्रेरी फ़ोल्डर पर राइट-क्लिक करें और पेस्ट चुनें।

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

किया हुआ

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