मावेन, जेसीन्टर आणि जीटपॅक वापरून कोणतीही गीटहब लायब्ररी अँड्रॉइड स्टुडिओमध्ये जोडा

लेखक: Lewis Jackson
निर्मितीची तारीख: 13 मे 2021
अद्यतन तारीख: 1 जुलै 2024
Anonim
मावेन, जेसीन्टर आणि जीटपॅक वापरून कोणतीही गीटहब लायब्ररी अँड्रॉइड स्टुडिओमध्ये जोडा - अनुप्रयोग
मावेन, जेसीन्टर आणि जीटपॅक वापरून कोणतीही गीटहब लायब्ररी अँड्रॉइड स्टुडिओमध्ये जोडा - अनुप्रयोग

सामग्री


बरेच काही Android प्रकल्प हे एक बेट आहेत! बहुतेक अँड्रॉइड प्रकल्पांमध्ये तृतीय पक्षाच्या Android लायब्ररीसह इतर अनेक घटकांवर अवलंबून असते.

Android लायब्ररीमध्ये आपल्याला सोपा कोड, संसाधने आणि एक मॅनिफेस्ट यासारख्या नियमित Android प्रकल्पात सापडलेल्या सारख्या फायली असतात. तथापि, Android डिव्हाइसवर चालत असलेल्या Android पॅकेज किट (एपीके) चे संकलन करण्याऐवजी एक लायब्ररी आपण प्रकल्प अवलंबन म्हणून वापरू शकता अशा कोड आर्काइव्हमध्ये संकलित करते. या लायब्ररी व्हॅनिला Android प्लॅटफॉर्ममध्ये समाविष्ट नसलेल्या काही वैशिष्ट्यांसह आपल्याला अतिरिक्त कार्यक्षमतेच्या विस्तृत श्रेणीमध्ये प्रवेश देतात.

अँड्रॉइड लायब्ररी शोधण्यासाठी सर्वात चांगली जागा म्हणजे गीटहब. तथापि, त्याच्या गिटहब पृष्ठावरून आणि आपल्या प्रकल्पात ग्रंथालय मिळवणे नेहमीच सरळ नसते, विशेषत: विकसक त्यांचे गिटहब प्रकल्प वितरीत करण्यासाठी वापरू शकणार्‍या अनेक भिन्न रेपॉजिटरीज असल्याने - आणि विकासक कोणता रेपॉजिटरी वापरत आहे हे नेहमीच स्पष्ट होणार नाही!

या लेखामध्ये, आपण आपल्या लायब्ररीला रिमोट अवलंबन म्हणून किंवा स्थानिक अवलंबित्व म्हणून जोडू इच्छिता की नाही याची पर्वा न करता, आपल्या Android प्रकल्पात आपण गीटहबवर शोधलेली कोणतीही लायब्ररी कशी आयात करावी हे मी दर्शवित आहे.


दूरस्थ अवलंबन जोडत आहे

Android स्टुडिओची ग्रेडल बिल्ड सिस्टम मॉड्यूलच्या रुपात आपल्या प्रकल्पात लायब्ररी जोडते अवलंबित्व. हे अवलंबित्व एकतर रिमोट रेपॉजिटरीमध्ये असू शकते जसे की मॅव्हन किंवा जेसीन्टर किंवा ते आपल्या प्रकल्पात स्थानिक अवलंबित्व म्हणून साठवले जाऊ शकतात - आपल्याला फक्त ग्रॅडल यांना हे अवलंबित्व कोठे सापडेल हे सांगण्याची आवश्यकता आहे.

दूरस्थ अवलंबित्व म्हणून लायब्ररी जोडणे हा आपल्या प्रकल्पामध्ये लायब्ररीचा कोड मिळविण्याचा सर्वात वेगवान आणि सोपा मार्ग असतो, म्हणून आपण प्रथम येथे पहात आहोत ही पद्धत आहे. जेव्हा आपण दूरस्थ अवलंबित्व म्हणून एखादी लायब्ररी जोडाल, तेव्हा ग्रॅडल हे सुनिश्चित करेल की अवलंबित्व मध्ये चालविण्यासाठी सक्षम असलेल्या सर्व गोष्टी आहेत, त्यासह सकर्मक अवलंबित्व, जेणेकरून आपणास शक्य असेल तेथे रिमोट अवलंबित्व म्हणून लायब्ररी जोडायची आहे.

दूरस्थ अवलंबित्व जोडण्यासाठी, आपल्याला माहितीचे दोन तुकडे ग्रेडल प्रदान करण्याची आवश्यकता असेल:

  • भांडार. ग्रॅडलला कोठारे (किंवा रेपॉजिटरी) माहित असणे आवश्यक आहे जेथे ते आपली लायब्ररी (किंवा लायब्ररी) शोधली पाहिजे. अँड्रॉइड लायब्ररी मॅव्हन सेंट्रल किंवा जेसीन्टरद्वारे वितरीत केली जाऊ शकतात.
  • कंपाईल स्टेटमेंट. यात लायब्ररीचे पॅकेज नाव, लायब्ररीच्या गटाचे नाव आणि आपण वापरू इच्छित ग्रंथालयाची आवृत्ती आहे.

तद्वतच, लायब्ररीच्या गिटहब पृष्ठाने आपल्याला या सर्व माहिती प्रदान केल्या पाहिजेत. प्रत्यक्षात असे नेहमीच नसते, परंतु आपण या केसांच्या सुरुवातीस सुरुवात करूया आणि गृहित धरू या की लायब्ररीच्या गिटहब पृष्ठात या माहितीचा समावेश आहे.


जेसीन्टर सह रिमोट अवलंबन जोडणे

स्टाईलटेबल टोस्ट ही एक लायब्ररी आहे जी आपल्याला पार्श्वभूमीचा रंग, कोपरा त्रिज्या आणि फॉन्ट आणि आयकॉन जोडण्यासह Android च्या टोस्टचा प्रत्येक भाग सानुकूलित करू देते. हे आपल्या लायब्ररीला आपल्या प्रकल्पात जोडण्यासाठी आवश्यक असलेल्या सर्व माहिती त्याच्या समर्पित ‘इन्स्टॉलेशन’ विभागातही पुरविते. येथे आपण हे प्रकल्प जेसीन्टरद्वारे वितरीत केल्याचे पाहू शकतो.

आपण Android स्टुडिओच्या नवीनतम रिलीझसह एखादा प्रकल्प तयार करता तेव्हा आपल्या प्रकल्पाच्या बिल्ड.gradle फायली जेसीन्टरला समर्थन देण्यासाठी आधीपासूनच सेटअप असतात. आपण आपली प्रकल्प-स्तरीय बिल्ड.gradle फाईल उघडल्यास आपण पहाल की JCenter आधीपासूनच ‘allProges / रिपॉझिटरीज’ विभागात समाविष्ट केलेला आहे:

सर्व प्रकल्प os भांडार {जेन्स्टर ()}}

टीप, प्रोजेक्ट-लेव्हल बिल्ड.gradle फाईलमध्ये दोन ‘रिपॉझिटरीज’ ब्लॉक्स आहेत, परंतु ‘बिल्डस्क्रिप्ट / रेपॉजिटरीज’ ब्लॉक आहे जिथे आपण हे बिल्ड कसे कार्य करतात हे आपण परिभाषित करता. आपण या विभागात कोणतीही मॉड्यूल अवलंबन जोडू नये.

आपला प्रकल्प जेसीन्टर तपासण्यासाठी आधीपासूनच कॉन्फिगर केले गेलेले असल्यामुळे मॉड्यूल-स्तरीय बिल्ड.gradle फाइलमध्ये आपले कंपाईल विधान जोडावे लागेल.

पुन्हा एकदा स्टाईलटेबल आपल्याला आवश्यक माहिती पुरविते, म्हणून स्टाईलटेबल टोस्टच्या गिटहब पृष्ठावरील कंपाईल स्टेटमेंटची कॉपी करुन आपल्या ग्रॅडल फाईलमध्ये पेस्ट करा:

अवलंबित्व {कंपाईल कॉम.मद्द्देवदेव: स्टाईलटेबलस्टस्ट: 1.0.8}

एकतर ‘समक्रमित करा’ बॅनरवर क्लिक करून किंवा टूलबारमधील ‘ग्रॅडल फायलीसमवेत संकालन प्रकल्प’ निवडून आपल्या ग्रेडल फायली समक्रमित करा. त्यानंतर ग्रॅडल स्टाईलनेबल टोस्ट लायब्ररी अस्तित्त्वात आहे हे तपासण्यासाठी आणि त्या सर्व फायली डाउनलोड करण्यासाठी जेसीन्टर सर्व्हरची चौकशी करेल. आपण आता या लायब्ररीचा वापर सुरू करण्यास सज्ज आहात!

2. मावेन सेंट्रलसह दूरस्थ अवलंबन जोडणे

वैकल्पिकरित्या, जर प्रकल्पाच्या गीटहब पृष्ठात असे म्हटले आहे की ही लायब्ररी मॅव्हन सेंट्रलद्वारे वितरित केली गेली आहे तर आपल्याला त्याऐवजी मॅव्हन सेंट्रल तपासण्यासाठी ग्रीडलला सांगावे लागेल.

आपली प्रोजेक्ट-स्तर बिल्ड.gradle फाईल उघडा आणि "ऑलप्रोजेक्ट्स" ब्लॉकवर मॅव्हन सेंट्रल जोडा:

सर्व प्रकल्प os भांडार {मॅव्हेंन्ट्रल ()}}

येथून, उर्वरित प्रक्रिया अगदी सारखीच आहे: आपली मॉड्यूल-स्तरीय बिल्ड उदा. फाइल उघडा, कंपाईल स्टेटमेंट जोडा आणि ग्रॅडलसह समक्रमित करा.

3. त्याच्या स्वत: च्या सर्व्हरवर होस्ट केलेले दूरस्थ अवलंबन जोडणे

कधीकधी, आपल्यास अद्याप जेसीन्टर किंवा मावेन सेंट्रलद्वारे वितरित केलेला प्रकल्प आढळू शकेल परंतु विकसकाने त्यांच्या प्रोजेक्टला त्यांच्या सर्व्हरवर होस्ट करणे निवडले आहे. जेव्हा असे होते तेव्हा प्रोजेक्टच्या गिटहब पृष्ठाने आपल्याला एक विशिष्ट URL वापरण्यास सांगावे, उदाहरणार्थ फॅब्रिकचे क्रॅशलाइटिक्स किट रेपॉजिटरी https://maven.fabric.io/public वर स्थित आहे.

जर आपल्याला या प्रकारची URL दिसली तर आपल्याला आपली प्रकल्प-स्तर बिल्ड उदा. फाइल उघडण्याची आणि त्यानंतर अचूक URL सह रिपॉझिटरी (या उदाहरणात, मावेन) घोषित करण्याची आवश्यकता असेल:

रिपॉझिटरीज {मॅव्हन {url https://maven.fabric.io/public}

त्यानंतर आपण कंपाईल स्टेटमेंट जोडू शकता आणि आपल्या फायली नेहमीप्रमाणे समक्रमित करू शकता.

मला भांडार आणि / किंवा कंपाईल विधान सापडले नाही तर काय करावे?

आत्तापर्यंत आम्ही आशावादी आहोत आणि गृहित धरले आहे की प्रकल्प गितहब आहे नेहमी आपल्याला आवश्यक असलेली सर्व माहिती आपल्याला सांगते. दुर्दैवाने नेहमीच असे नसते, म्हणून सर्वात वाईट परिस्थितीतून सर्वात वाईट परिस्थितीकडे जा. आणि कल्पना करा की प्रकल्पाचे गिटहब पृष्ठ आपल्याला वापरण्यासाठी आवश्यक असलेल्या रेपॉजिटरी आणि संकलित विधानाबद्दल कोणतीही माहिती प्रदान करीत नाही.

या परिस्थितीत आपण एकतर हे करू शकता:

  • जिटपॅक वापरा.
  • संपूर्ण भांडार क्लोन करा आणि त्याचा कोड स्वतःच्या मॉड्यूलच्या रुपात आपल्या प्रकल्पात आयात करा.

जीटपॅक वापरणे

जीटपॅक ही गिटची एक पॅकेज रेपॉझिटरी आहे जी आपल्याला कुठल्याही गीटहब प्रोजेक्टला रिमोट अवलंबित्व म्हणून जोडू देते. जोपर्यंत लायब्ररीमध्ये बिल्ड फाईल आहे तोपर्यंत आपल्या प्रकल्पात आपल्यासाठी ही लायब्ररी जोडण्यासाठी आवश्यक असलेली माहिती जीटपॅक तयार करू शकते.

पहिली पायरी म्हणजे आपली प्रोजेक्ट-स्तर बिल्ड.gradle फाईल उघडणे आणि डिपॉझिटरी म्हणून जितपॅक जोडणे:

सर्व प्रकल्प {भांडार {मावेन {url https://jitpack.io}}}

त्यानंतर आपण त्या प्रकल्पाच्या गिटहब URL वर आधारित कंपाईल विधान व्युत्पन्न करण्यासाठी जिटपॅक वेबसाइट वापरू शकता:

  • आपल्या वेब ब्राउझरमध्ये, लायब्ररीच्या गिटहब पृष्ठावर नेव्हिगेट करा. त्याची URL कॉपी करा.
  • जीटपॅक वेबसाइटवर जा.
  • वेबसाइटच्या शोध फील्डमध्ये URL पेस्ट करा आणि त्यानंतरच्या ‘लुक अप’ बटणावर क्लिक करा.
  • वेबपृष्ठ नंतर या लायब्ररीच्या सर्व आवृत्त्यांचा सारणी प्रदर्शित करेल, विविध टॅबमध्ये विभागून: रिलीझ, बिल्ड्स, शाखा आणि कमिट. थोडक्यात, रीलिझ अधिक स्थिर असतात, तर कमिट विभागात नवीनतम बदल असतात.

  • एकदा आपण कोणती आवृत्ती वापरू इच्छिता हे ठरविल्यानंतर, त्यासह त्याच्या ‘मिळवा’ या बटणावर क्लिक करा.
  • आपल्याला आवश्यक असलेले अचूक कंपाईल विधान प्रदर्शित करण्यासाठी वेबसाइट अद्यतनित केली पाहिजे.

  • आपल्या कंपाईलच्या मॉड्यूल-स्तरीय बिल्ड.gradle फाईलमध्ये हे कंपाईल विधान कॉपी / पेस्ट करा.
  • आपल्या ग्रॅडल फायली समक्रमित करा आणि आपण आपली लायब्ररी वापरण्यास सज्ज आहात!

गीटहब प्रोजेक्ट क्लोनिंग करत आहे

वैकल्पिकरित्या, जेव्हा आपण लायब्ररीच्या भांडार आणि / किंवा कंपाईल स्टेटमेंटबद्दल अनिश्चित असता तेव्हा आपण हे करू शकता क्लोन गिटहब प्रकल्प. क्लोनिंग गिटहब प्रोजेक्टच्या सर्व कोडची आणि संसाधनांची एक प्रत तयार करते आणि ही कॉपी आपल्या स्थानिक मशीनवर ठेवते. त्यानंतर आपण क्लोनला त्याच्या स्वत: च्या मॉड्यूलच्या रूपात आपल्या प्रकल्पात आयात करू शकता आणि मॉड्यूल अवलंबन म्हणून वापरू शकता.

ही पद्धत वेळखाऊ असू शकते आणि प्रकल्पाच्या संपूर्ण कोडची आयात केल्याने आपल्या उर्वरित प्रकल्पात संघर्ष होऊ शकतो. तथापि, क्लोनिंग आपल्याला लायब्ररीच्या सर्व कोडमध्ये प्रवेश देते, म्हणून आपण ग्रंथालयाला सानुकूलित करू इच्छित असाल तर ही पद्धत आदर्श आहे, उदाहरणार्थ आपल्या उर्वरित प्रकल्पासह अधिक चांगल्या प्रकारे समाकलित करण्यासाठी कोड कोड करून किंवा नवीन वैशिष्ट्ये जोडून (जरी जर आपल्याला असे वाटत असेल की आपल्या बदलांचा फायदा इतर लोकांना होऊ शकेल तर आपण प्रकल्पात परत आपल्या सुधारणाचे योगदान देण्याचा विचार करू शकता).

गीटहब प्रकल्प क्लोन करण्यासाठी:

  • एक गिटहब खाते तयार करा.
  • अँड्रॉइड स्टुडिओच्या ‘वेलकम’ स्क्रीनवरून ‘व्हर्जन कंट्रोलमधून चेकआऊट’ निवडा.
  • आपली गिटहब क्रेडेन्शियल्स प्रविष्ट करा.
  • आपला वेब ब्राउझर उघडा, आपण क्लोन करू इच्छित असलेल्या गिटहब रेपॉजिटरीवर नॅव्हिगेट करा आणि नंतर त्याची URL Android स्टुडिओ संवादात कॉपी / पेस्ट करा.
  • आपण क्लोन केलेला रेपॉजिटरी जिथे संचयित करू इच्छिता तेथे स्थानिक निर्देशिका निर्दिष्ट करा.
  • या निर्देशिकेस एक नाव द्या आणि नंतर ‘क्लोन’ क्लिक करा.

आता आपल्याकडे लायब्ररीच्या कोडची एक प्रत आहे, आपण नवीन मॉड्यूलच्या रुपात आपल्या लायब्ररीला आपल्या Android प्रकल्पात आयात करू शकता:

  • आपण जिथे आपली क्लोन केलेली लायब्ररी वापरू इच्छिता तो प्रकल्प उघडा, त्यानंतर Android स्टुडिओ टूलबार वरून ‘फाइल> नवीन> आयात मॉड्यूल’ निवडा.
  • तीन-बिंदू बटणावर क्लिक करा आणि आपल्या क्लोन रिपॉझिटरीमध्ये नेव्हिगेट करा. हे भांडार निवडा, त्यानंतर ‘ओके’ वर क्लिक करा.
  • ‘समाप्त’ वर क्लिक करा.
  • Android स्टुडिओ टूलबार वरून ‘फाइल> प्रकल्प रचना’ निवडा.
  • डावीकडील मेनूमध्ये, आपण जेथे हे लायब्ररी वापरू इच्छिता तेथे मॉड्यूल निवडा.
  • ‘अवलंबन’ टॅब निवडा.

  • ‘मॉड्यूल अवलंबन’ त्यानंतर छोटा ‘+’ चिन्ह निवडा.
  • आपले लायब्ररी मॉड्यूल निवडा, त्यानंतर ‘ओके’ वर क्लिक करा.
  • ‘प्रोजेक्ट स्ट्रक्चर’ विंडोमधून बाहेर पडा.

आपण वापरत असलेल्या लायब्ररीवर अवलंबून, आपला प्रकल्प संकलित होण्यापूर्वी आपल्याला आपल्या आयातित कोडमध्ये काही समायोजने करण्याची आवश्यकता असू शकते. उदाहरणार्थ, जर Android स्टुडिओच्या ‘s’ टॅबमध्ये विसंगत minSdkVersions बद्दल तक्रार होत असेल तर, लायब्ररीद्वारे वापरल्या जाणार्‍या एपीआय आपल्या प्रोजेक्टच्या बिल्ड.gradle फाईलमध्ये परिभाषित केलेल्या Android प्लॅटफॉर्मच्या आवृत्तीशी सुसंगत नसण्याची शक्यता आहे. त्याचप्रमाणे, जर Android स्टुडिओ आपल्या प्रकल्पाच्या बिल्डटूल वर्जनबद्दल तक्रार करीत असेल तर ग्रंथालयात परिभाषित केलेली आवृत्ती आणि आपल्या प्रकल्पातील इतरत्र परिभाषित केलेली आवृत्ती यात काही फरक नाही. या दोन्ही परिस्थितींमध्ये आपल्याला दोन्ही बिल्ड.gradle फायलींमध्ये परिभाषित केलेली मूल्ये तपासण्याची आणि त्यानुसार त्या बदलण्याची आवश्यकता आहे.

समस्यानिवारण

आपण कार्य करीत असताना कोणत्याही थर्ड पार्टी सॉफ्टवेयर प्रकार, सामान्य नियम म्हणून आपल्याकडे विसंगती, बग्स आणि सभोवतालची शक्यता जास्त असते विचित्र वर्तन, जेव्हा आपण समान टीमद्वारे विकसित केलेले सॉफ्टवेअर वापरत असताना आणि जेथे कोडे प्रत्येक तुकडा एकत्रितपणे कार्य करण्यासाठी तयार केला गेला होता त्या तुलनेत.

आपल्या प्रोजेक्टमध्ये लायब्ररी जोडल्यानंतर आपण अडचणीत सापडल्यास खालील निराकरणे पहा:

  • आपण चुकून त्याच लायब्ररीच्या एकाधिक आवृत्त्या जोडल्या नाहीत हे तपासा. अँड्रॉइड स्टुडिओ “मल्टिपल डीएक्स फायली परिभाषित…” त्रुटी नोंदवत असेल तर आपण कदाचित आपल्या लायब्ररीमध्ये एकापेक्षा जास्त वेळा आपल्या प्रकल्पात जोडले असावे. आपण Android स्टुडिओ टूलबार वरून ‘फाईल> प्रोजेक्ट स्ट्रक्चर’ निवडून, नंतर आपण परीक्षण करू इच्छित मॉड्यूल निवडून आणि ‘अवलंबन’ टॅबवर क्लिक करून आपल्या मॉड्यूलच्या अवलंबितांचे पुनरावलोकन करू शकता. या विंडोमध्ये अनेक वेळा लायब्ररी आढळल्यास, डुप्लिकेट निवडा आणि ती काढण्यासाठी चिन्हावर क्लिक करा.
  • वेब शोधा. आपल्यासारख्याच समस्येचा सामना इतर लोकांना करावा लागला असेल अशी शक्यता नेहमीच असते, म्हणून कोणी मंच, किंवा स्टॅकओव्हरफ्लो सारख्या समुदायांवर या विषयाबद्दल कोणी पोस्ट केले आहे की नाही हे पाहण्यासाठी द्रुत Google शोध घ्या. आपण अगदी भाग्यवान होऊ शकता आणि हा ब्लॉग किंवा ट्यूटोरियल शोधू शकता ज्यात या अचूक समस्येचे निराकरण कसे करावे यावरील सूचनांचा समावेश आहे.
  • आपला प्रकल्प स्वच्छ करा आणि पुन्हा तयार करा. काहीवेळा, Android स्टुडिओ टूलबार वरून ‘बिल्ड> स्वच्छ प्रकल्प’ निवडणे आणि त्यानंतर ‘बिल्ड> पुनर्निर्माण प्रकल्प’ निवडणे आपल्या समस्येचे निराकरण करण्यासाठी पुरेसे असू शकते.
  • आणि इतर सर्व अपयशी ठरल्यास ... तृतीय पक्षाचे सॉफ्टवेअर योग्यरित्या कार्य करण्यासाठी काहीवेळा थोडी चाचणी आणि त्रुटी आवश्यक असते, म्हणून जर आपली निवडलेली लायब्ररी आयात करण्याची पर्यायी पद्धत असेल तर ते नेहमी प्रयत्न करण्यासारखे असते. आपण एक क्लोन रिपॉझिटरी आयात केल्यानंतर आपला प्रकल्प संकलित करण्यास नकार देत आहे, याचा अर्थ असा होत नाही की आपण तीच लायब्ररी रिमोट अवलंबित्व म्हणून वापरण्याचा प्रयत्न केला तर त्यास समान प्रतिक्रिया मिळेल.

लपेटणे

या लेखामध्ये, आम्ही गीटहबवर शोधलेली कोणतीही लायब्ररी आपल्या अँड्रॉइड प्रोजेक्टमध्ये कशी जोडू शकता याकडे आम्ही पाहिले, त्या लायब्ररीचे जेसीन्टर किंवा मावेन सेंट्रलद्वारे वितरित केले गेले आहे याची पर्वा न करता. आपल्याला कोणते भांडार किंवा संकलन विधान वापरावे हे माहित नसले तरीही आपल्याकडे नेहमी जिटपॅक वापरण्याचा किंवा ग्रंथालयाचा कोड क्लोनिंग करण्याचा पर्याय असतो.

आपल्याला गिटहबवर कोणतीही उत्कृष्ट Android लायब्ररी सापडली आहेत? आम्हाला खाली टिप्पण्या कळू द्या!

वनप्लस 7 टी प्रो उद्या लंडनमध्ये सुरू होणार आहे. कंपनीने अद्याप डिव्हाइस अधिकृतपणे उघड केलेले नाही, परंतु त्याद्वारे प्रतिष्ठित रोमानियन रिटेल साइट इवोमॅगला 7T प्रो विक्रीसाठी 4,000 रोमानियन ली (~ 925...

अद्यतन, 17 ऑक्टोबर 2019 (9: 13 AM आणि): वनप्लस 7 टी मालिका आता युरोपियन युनियन देशांमध्ये उपलब्ध असल्याने युरोपीय वापरकर्ते शेवटी सर्व गडबड काय आहे ते पाहू शकतात. किंमती आणि उपलब्धतेबद्दल अधिक माहितीस...

वाचकांची निवड