एंड्रॉइड स्टूडियो प्रोजेक्ट में वॉली (या अन्य पुस्तकालय) को शामिल करने का सबसे अच्छा तरीका है


81

मैंने यह करने के लिए सबसे अच्छे तरीके से अलग-अलग सलाह देखी है। यह प्रश्न एक जार का निर्माण करता है। अन्य जगहों पर, मैंने सलाह दी है कि वॉली स्रोत को केवल अपने प्रोजेक्ट में कॉपी करें। Android.com पर पुस्तकालयों पर यह अनुभाग सबसे अधिक आधिकारिक होगा। हालांकि, वॉली को संकलित करने के बाद, मेरे पास aal पुस्तकालय नहीं है, जबकि यह खंड कहता है कि मुझे होना चाहिए।

तो मेरा सवाल यह है: मेरे पास एक मौजूदा एंड्रॉइड स्टूडियो प्रोजेक्ट है जिसमें एक मानक लेआउट और एक गिट रिपॉजिटरी है; मुझे वॉली को जोड़ने के लिए क्या करना चाहिए? मुझे इसे कहां से डाउनलोड करना चाहिए? मुझे इसे एंड्रॉइड स्टूडियो में कैसे जोड़ना चाहिए? कौन सी ग्रैडल फाइलें, यदि कोई हो, क्या मुझे संशोधित करने की आवश्यकता है।

उम्मीद है, आप में से कुछ लोगों ने ऐसा कुछ समय के लिए किया है, यह ब्रेड-एंड-बटर का सामान होना चाहिए, लेकिन मैं इसका सीधा वर्णन नहीं कर पाया हूं।

-

अद्यतन , स्कॉट बार्टा के सुझाव के अनुसार।

वॉली रिपॉजिटरी में gradle.build फाइल में यह लाइन है।

apply plugin: 'android-library'

प्रलेखन के अनुसार : " लाइब्रेरी प्रोजेक्ट्स एपीके उत्पन्न नहीं करते हैं, वे एक .AR पैकेज (जो एंड्रॉइड आर्काइव के लिए खड़ा है) उत्पन्न करते हैं। " हालांकि, जब मैं वॉली प्रोजेक्ट का निर्माण करता हूं, तो .AR नहीं बनाया जाता है।

मेरी भावना यह है कि जैसा कि वॉली एक पुस्तकालय परियोजना है, जो एंड्रॉइड टीम द्वारा बनाई गई है, यह संभवतः सबसे अधिक उत्पन्न होने वाला है और इसका उपयोग .AR पैकेज के रूप में किया जाता है। इस पर कोई सलाह देना कि क्या यह .एयर उत्पन्न करना बेहतर होगा, और यह कैसे करना है, की सराहना की जाएगी।



आपको वहां सबसे अधिक रास्ता मिलना चाहिए। यदि आप अभी भी अटके हुए हैं और समस्याएँ हैं, तो अपने प्रश्न को परिष्कृत करें या किसी नए से पूछें कि क्या यह पर्याप्त रूप से भिन्न है।
स्कॉट बार्टा

यदि आप वॉली को एक निर्भरता मॉड्यूल के रूप में उपयोग करना चाहते हैं, तो आप लिंक को संदर्भित कर सकते हैं ।
cmoaciopm

ध्यान दें कि @ स्कॉटबार्टा लिंक को वॉली एंड्रॉइड नेटवर्किंग लाइब्रेरी के डुप्लिकेट के रूप में चिह्नित किया गया है ।
ब्रायन मारीक

निम्नलिखित लिंक में इसे प्राप्त करने के लिए बहुत विस्तृत विवरण दिया गया है: gitsubmoduleasandroidtudiomodule.blogspot.in
अर्पित रतन

जवाबों:


125

नवीनतम अद्यतन:

इसके बजाय jCenter से आधिकारिक संस्करण का उपयोग करें।

dependencies {
    compile 'com.android.volley:volley:1.0.0'
}

नीचे दी गई निर्भरता, वंचित वॉली को इंगित करती है जो अब बनाए नहीं रखी जाती है।

मूल ANSWER

आप वॉली का उपयोग करने के लिए अपनी build.gradle फ़ाइल की निर्भरता अनुभाग में इसका उपयोग कर सकते हैं

  dependencies {
      compile 'com.mcxiaoke.volley:library-aar:1.0.0'
  }

अपडेट:

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

https://github.com/mcxiaoke/android-volley


7
ध्यान दें कि वॉली के लिए आधिकारिक रेपो नहीं है। यह सिर्फ कुछ है जो मावेन केंद्रीय पर अपलोड किया गया है। (AFAIK)
pjco

2
फिर मैं उस आदमी को जानता हूं, लेकिन सिर्फ एक दर्पण का अंतर नहीं है, बिल्कुल वैसा ही है और आधिकारिक वॉली रिपॉजिटरी 1.0.1 (2014.02.13 पर अद्यतन) के साथ सिंक किया गया है। यह खुले स्रोत की सुंदरता है इसलिए चिंता न करें कि आप इसका उपयोग कर सकते हैं। github.com/mcxiaoke/android-volley
pyus13

16
हर किसी पर सभी पागल होने की कोशिश नहीं कर रहा है, लेकिन उस भंडार का अनुचर काफी आसानी से कुछ छायादार सामान में फिसल सकता है ... सावधानी से आगे बढ़ें यदि आप व्यक्तिगत रूप से रिपॉजिटरी का ऑडिट नहीं कर रहे हैं।
मंगल ०

1
इस दो लिंक के बीच क्या अंतर है? धन्यवाद। http://mvnrepository.com/artifact/com.mcxiaoke.volley/library http://mvnrepository.com/artifact/com.mcxiaoke.volley/library-aar
user1510006

8
कृपया मेरे उत्तर को नीचे देखें, अब Google- प्रकाशित वॉली टारगेट ( com.android.volley:volley:1.0.0)
सैम स्टर्न

138

जैसा कि दूसरों द्वारा भी बताया गया है, वॉली आधिकारिक रूप से जीथूब पर उपलब्ध है :

इस लाइन को वॉली के लिए अपनी श्रेणी निर्भरता में जोड़ें:

compile 'com.android.volley:volley:1.0.0'


स्रोत से वॉली स्थापित करने के लिए नीचे पढ़ें:

मैं अपने ऐप में आधिकारिक वॉली रिपॉजिटरी रखना पसंद करता हूं। इस तरह से मैं इसे आधिकारिक स्रोत से प्राप्त करता हूं और किसी और पर निर्भर किए बिना अपडेट प्राप्त कर सकता हूं और अन्य लोगों द्वारा व्यक्त की गई चिंताओं को कम कर सकता हूं।

एप्लिकेशन के साथ एक सबमॉड्यूल के रूप में जोड़ा गया वॉली।

git submodule add -b master https://github.com/google/volley.git volley

मेरी सेटिंग में .ग्रेड, मॉड्यूल के रूप में वॉली को जोड़ने के लिए निम्न पंक्ति को जोड़ा।

include ':volley'

अपने ऐप / बिल्ड.ग्रेडल में, मैंने वॉली प्रोजेक्ट के लिए एक संकलन पर निर्भरता को जोड़ा

compile project(':volley')

बस इतना ही! वॉली अब मेरे प्रोजेक्ट में इस्तेमाल किया जा सकता है।

हर बार मैं वॉली मॉड्यूल को Google के रेपो के साथ सिंक करना चाहता हूं, मैं इसे चलाता हूं।

git submodule foreach git pull

7
यह पसंदीदा समाधान क्यों नहीं है? जैसा कि मैंने देखा है कि आपको आधिकारिक संस्करण, आसान अपडेट और अपनी परियोजना और इसकी निर्भरता के बीच एक अर्थपूर्ण टाई मिलती है। क्या अन्य तरीकों को चुनने का कोई अच्छा कारण है, या यह सिर्फ इतना है कि अन्य तरीके एंड्रॉइड समुदाय में मानक प्रक्रिया हैं?
एंड्रियास हेगन

2
मुझे लगता है कि यह पसंदीदा समाधान है लेकिन Google द्वारा ठीक से प्रलेखित नहीं है। इसके अलावा, ऊपर उल्लिखित अन्य सुरक्षा चिंताओं के अलावा, इसे आधिकारिक स्रोत से प्राप्त करने से आपको लाइब्रेरी को अपडेट करने के लिए नियंत्रण में रखा जाता है (जैसे ही या जैसे ही आप चाहें, उतनी देर हो सकती है)।
शौविक

3
बहुत धन्यवाद। केवल एक चीज जो मुझे जोड़ने की जरूरत थी वो थी सेटिंग्स में वॉली लाइब्रेरी का स्थान ।ग्रेड: प्रोजेक्ट (': वॉली')। प्रोजेक्टडिर = नई फाइल ('लाइब्रेरी / वॉली') क्योंकि मैंने इसे एक लाइब्रेरी फोल्डर में रखा था
बज्जन केचल

बहुत धन्यवाद ! इसका आधिकारिक उत्तर होना चाहिए
विवेक सिंह

पैकेज मैनेजर की नौकरी करने के लिए संस्करण नियंत्रण से पूछना आवश्यक नहीं होना चाहिए।
रिक्की गिब्सन

26

आजकल

dependencies {
    compile 'com.android.volley:volley:1.0.0'
}   

दिन में इसे वापस करने के लिए बहुत सारे अलग-अलग तरीके (मूल उत्तर)

  • volley.jarपुस्तकालय के रूप में जोड़ें

    1. इसे यहां से डाउनलोड करें: http://api.androidhive.info/volley/volley.jar
    2. इसे अपने [MyProjectPath]/app/libs/फोल्डर में रखें

  • Git से स्रोत फ़ाइलों का उपयोग करें (यहाँ वर्णित मैनुअल / सामान्य तरीका)

    1. Git क्लाइंट को डाउनलोड / इंस्टॉल करें (यदि आपके पास अभी तक यह आपके सिस्टम पर नहीं है): http://git-scm.com/downloads (या के माध्यम से git clone https://github.com/git/git... बुरे एक को भूनें, लेकिन ^ ^ का विरोध नहीं कर सकता)
    2. निष्पादित git clone https://android.googlesource.com/platform/frameworks/volley
    3. अपने प्रोजेक्ट फ़ोल्डर के comभीतर से फ़ोल्डर की प्रतिलिपि बनाएँ (इसके बजाय इसे एकीकृत करें, यदि आपके पास पहले से ही एक कॉम फ़ोल्डर है !!; ;-))[path_where_you_typed_git_clone]/volley/srcapp/src/main/java

    फ़ाइलें तुरंत एंड्रॉइड स्टूडियो में दिखाई देती हैं। ग्रहण के लिए आप करना होगा right-clickपर srcफ़ोल्डर और प्रेस refresh(या F5) पहले।

  • "अनौपचारिक" मावेन दर्पण के माध्यम से ग्रेडेल का उपयोग करें

    1. अपने प्रोजेक्ट की src/build.gradleफ़ाइल में निम्नलिखित वॉली निर्भरता जोड़ें:

      dependencies {
          compile fileTree(dir: 'libs', include: ['*.jar'])
          // ...
      
          compile 'com.mcxiaoke.volley:library:1.+'
      }
      
    2. उस पर क्लिक करें, Try Againजिसे तुरंत फ़ाइल के शीर्ष पर दिखाई देना चाहिए, या बस Buildअगर यह नहीं है

    यहां मुख्य "लाभ" यह है कि यह संस्करण को आपके लिए अद्यतित रखेगा, जबकि अन्य दो मामलों में आपको मैन्युअल रूप से वॉली अपडेट करना होगा।

    "डाउनसाइड" पर यह आधिकारिक तौर पर Google से नहीं है, लेकिन एक तृतीय पक्ष साप्ताहिक दर्पण है।

    लेकिन ये दोनों बिंदु, वास्तव में आप क्या चाहते हैं / चाहते हैं के सापेक्ष हैं। इसके अलावा यदि आप अपडेट नहीं चाहते हैं, तो उदाहरण के लिए वांछित संस्करण वहां रखें compile 'com.mcxiaoke.volley:library:1.0.7'


एंड्रॉइड स्टूडियो 1.0.2 में, आपको इसे जोड़ने के लिए जार पर राइट-क्लिक करने की आवश्यकता नहीं है। डिफ़ॉल्ट ग्रैडल नियम इसे स्वचालित रूप से जोड़ते हैं। साथ ही, यदि आप एक नए स्टूडियो उपयोगकर्ता हैं, तो आपको आश्चर्य हो सकता है कि जार प्रोजेक्ट व्यू में दिखाई नहीं देता है। यह "एंड्रॉइड" सेटिंग द्वारा स्पिनर में दृश्य के ठीक ऊपर फ़िल्टर किया गया है। इसे "प्रोजेक्ट" में बदलें यह देखने के लिए कि आपने वास्तव में कुछ पूरा किया है।
ब्रायन मरिक

जानकर अच्छा लगा, thx! जवाब से हटा दिया! लेकिन बीटा उपयोगकर्ताओं के लिए टिप्पणी के रूप में: आपको पहले विकल्प (पुस्तकालय के रूप में जोड़ने) चुनते हैं, तो आप भी करने की आवश्यकता होगी right-clickपर volley.jarभीतर libsएंड्रॉयड स्टूडियो में फ़ोल्डर, और चुनें Add As Library...यह अपनी परियोजना में उपलब्ध है।
लेविट

1
@ लेविट, दूसरी बुलेट बिंदु के बारे में - "गिट से स्रोत फ़ाइलों का उपयोग करें (बल्कि यहाँ वर्णित मैनुअल / सामान्य तरीका)" एंड्रॉइड स्टूडियो का उपयोग करके मैं अपने प्रोजेक्ट में पुस्तकालयों को मिलाता हूं और सेटिंग्स को संपादित करता हूं। उन्नयन और निर्भरताएं। यह ठीक काम कर रहा है, लेकिन मुझे एक संदेश मिला है जिसमें कहा गया है कि अपंजीकृत वीकेएस रूट का पता लगाया गया है, गिट के नीचे है, लेकिन सेटिंग्स में पंजीकृत नहीं है, क्या आप इसे स्पष्ट कर सकते हैं
एरेसन उस्मान

@johncarter: दूसरी बुलेट बिंदु / रास्ते से, आपको अपनी सेटिंग्स और निर्भरता को संपादित किए बिना, बस इसे सही फ़ोल्डर में रखकर ठीक होना चाहिए। : लेकिन वहाँ भी एक और अधिक या (बल्कि) कम व्यापक AndroidDevelopers पर इस तरह के विषय में गाइड है developer.android.com/training/volley
लेवीय

2
महान जवाब के लिए धन्यवाद। Volley.jar विधि ने मेरे लिए बॉक्स से बाहर काम किया!
विन्सेंट मैथ्यू

11

आज तक, JCenter पर उपलब्ध वॉली की एक आधिकारिक एंड्रॉइड-होस्टेड प्रति उपलब्ध है:

compile 'com.android.volley:volley:1.0.0'

इसे AOSP वॉली सोर्स कोड से संकलित किया गया था।


पोस्ट करने का शुक्रिया! इसे सही उत्तर के रूप में चिह्नित किया जाना चाहिए।
डेविड लॉर्ड

5

अपडेट करें:

compile 'com.android.volley:volley:1.0.0'

पुराने उत्तर: आपको अपने एप्लिकेशन मॉड्यूल के बिल्ड.ग्रेड में अगले की आवश्यकता है:

dependencies {
        compile 'com.mcxiaoke.volley:library:1.0.19'
        (Rest of your dependencies)

    }

यह आधिकारिक रेपो नहीं है, बल्कि एक अत्यधिक विश्वसनीय है।


1
खबरदार। यहाँ होस्ट की गई वॉली लाइब्रेरी पुरानी है और आधिकारिक तौर पर होस्ट नहीं है। नीचे मेरी पोस्ट देखें।
शौविक

1

Android स्टूडियो में वॉली को शामिल करने के लिए,

  1. टर्मिनल में निम्नलिखित कमांड चिपकाएँ (
    git क्लोन https://android.googlesource.com/platform/frameworks/volley ) और इसे चलाएं।

    इसके लिए android डेवलपर ट्यूटोरियल देखें ।

    यह src डायरेक्टरी में फोल्डर नेम वॉली बनाएगा ।
  2. फिर एंड्रॉइड स्टूडियो में जाएं और प्रोजेक्ट पर राइट क्लिक करें।
  3. सूची से नया -> मॉड्यूल चुनें।
  4. फिर नीचे दी गई सूची से आयात मौजूदा परियोजना पर क्लिक करें।
  5. आपको स्रोत के नाम से एक टेक्स्ट इनपुट क्षेत्र दिखाई देगा, आपके द्वारा डाउनलोड किया गया फ़ोल्डर ब्राउज़ करें (वॉली) और फिर फिनिश पर क्लिक करें।
  6. आपको अपने प्रोजेक्ट दृश्य में एक फ़ोल्डर वॉली दिखाई देगा।
  7. एंड्रॉइड व्यू में स्विच करें और बिल्ड खोलें: gradle (मॉड्यूल: ऐप) फ़ाइल और निर्भरता क्षेत्र में निम्नलिखित लाइन को जोड़ें:

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

  8. अब अपनी परियोजना को सिंक्रनाइज़ करें और अपनी परियोजना का निर्माण भी करें।


0

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

मेरे पास एक नेक्सस सर्वर (इंटरनल रेपो) सेटअप भी है, इसलिए मैं वॉली को
'कॉम.माइकपनी.वॉली: वॉली: 1.0.4' के रूप में किसी भी प्रोजेक्ट में एक्सेस कर सकता हूं, जिसकी मुझे जरूरत है।

जब भी मैं वॉली परियोजना को अपडेट करता हूं, मुझे बस अन्य परियोजनाओं में संस्करण संख्या बदलने की आवश्यकता होती है।

मैं इस दृष्टिकोण के साथ बहुत सहज महसूस करता हूं।


0

जोड़ना

compile 'com.mcxiaoke.volley:library:1.0.19'
        compile project('volley')

निर्भरता में, अपने अनुप्रयोग के build.gradle फ़ाइल के तहत

अपनी लिब्ररी की बिल्ड.ग्रेडल फाइल को डिस्टर्ब न करें। यह आपके एप्लिकेशन की पूरी कोशिश है कि आप केवल इसके लिए आवश्यक हैं

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