ऐंड्रॉयड सॉफ्टवेयर डेवलपमेंट

एंड्राइड सॉफ़्टवेयर डेवलपमेंट वह प्रक्रिया है जिसके द्वारा एंड्राइड (ऑपरेटिंग सिस्टम) चलाने वाले उपकरणों के लिए एप्लिकेशन बनाए जाते हैं। गूगल बताता है कि एंड्रॉइड सॉफ्टवेयर डेवलपमेंट किट (एसडीके) का उपयोग करके कोटलिन (प्रोग्रामिंग लैंग्वेज), जावा (प्रोग्रामिंग लैंग्वेज), और सी ++ भाषाओं का उपयोग करके एंड्रॉइड ऐप लिखे जा सकते हैं, जबकि अन्य भाषाओं का उपयोग करना भी संभव है। सभी गैर-जावा वर्चुअल मशीन (जेवीएम) भाषाएं, जैसे गो (प्रोग्रामिंग भाषा), जावास्क्रिप्ट, C (प्रोग्रामिंग लैंग्वेज), C++ या सभा की भाषा, को जेवीएम लैंग्वेज कोड की मदद की जरूरत होती है, जो टूल द्वारा आपूर्ति की जा सकती है, संभवतः प्रतिबंधित एपीआई सपोर्ट के साथ। कुछ प्रोग्रामिंग लैंग्वेज और टूल क्रॉस-प्लेटफॉर्म ऐप सपोर्ट की अनुमति देते हैं (अर्थात एंड्राइड और iOS दोनों के लिए)। 2008 में प्रारंभिक एसडीके जारी होने के बाद से तीसरे पक्ष के उपकरण, विकास वातावरण और भाषा समर्थन भी विकसित और विस्तारित होते रहे हैं। एंड्राइड स्टूडियो एक रिच लेआउट एडिटर प्रोवाइड करता है जिसमे आप ड्रैग और ड्राप करके भी एडिटिंग कर सकते है। एंड्राइड स्टूडियो परफॉरमेंस, यूसबिलिटी और वर्जन कम्पेटिबिलिटी की प्रोब्लेम्स को सोल्व करने के लिए लिंट टूल्स को यूज़ करता है। एंड्राइड स्टूडियो में गूगल क्लाउड प्लेटफार्म के लिए बिल्ड इन सपोर्ट प्रोवाइड किया गया है। अंतिम उपयोगकर्ताओं के लिए आधिकारिक एंड्रॉइड ऐप वितरण तंत्र गूगल प्ले है; यह चरणबद्ध क्रमिक ऐप रिलीज़ के साथ-साथ परीक्षकों को रिलीज़-पूर्व ऐप संस्करणों के वितरण की भी अनुमति देता है।

आधिकारिक विकास उपकरण
एंड्रॉइड एसडीके (एसडीके) में विकास उपकरणों का एक व्यापक सेट सम्मिलित है। एंड्राइड एसडीके प्लेटफ़ॉर्म टूल पूर्ण एसडीके का एक अलग से डाउनलोड करने योग्य उपसमुच्चय है, जिसमें कमांड-लाइन टूल सम्मिलित हैं  और. एंड्रॉइड डिबग ब्रिज (एडीबी) कनेक्टेड एंड्रॉइड डिवाइस पर कमांड चलाने के लिए एक उपकरण है। फ़ास्टबूट एक संचार प्रोटोकॉल है जिसका उपयोग फाइल सिस्टम को चमकाने के लिए किया जाता है। C (प्रोग्रामिंग लैंग्वेज)/C++ में लिखा गया कोड एंड्राइड एनडीके (एनडीके) का उपयोग करके एआरएम वास्तुकला, या x86 नेटिव कोड (या उनके 64-बिट वेरिएंट) के लिए संकलक हो सकता है।

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

बाहरी हार्डवेयर विकास
एंड्रॉइड डिवाइस को बाहरी इलेक्ट्रॉनिक्स के साथ इंटरैक्ट करने में मदद करने के लिए विकास उपकरण में आईओआईओ, एंड्राइड ओपन एक्सेसरी डेवलपमेंट किट, माइक्रोब्रिज, ट्रिगरट्रैप आदि सम्मिलित हैं।

एंड्रॉइड एमुलेटर

 * ब्लूस्टैक्स
 * scrcpy
 * अल्फ़ाबेट द्वारा विलय और अधिग्रहण की सूची
 * एंड्राइड के लिए ऐप आविष्कारक
 * एंड्रॉइड स्टूडियो
 * मेमू
 * एंड्रॉयड-x86
 * नोक्स ऐप प्लेयर
 * एंड्रॉइड के लिए विंडोज सबसिस्टम

एंड्रॉइड डेवलपर चैलेंज
एंड्रॉइड डेवलपर चैलेंज एंड्रॉइड के लिए सबसे नवीन एप्लिकेशन खोजने की एक प्रतियोगिता थी। गूगल ने एडीसी I और एडीसी II के बीच वितरित कुल 10 मिलियन अमेरिकी डॉलर के पुरस्कार की पेशकश की। एडीसी I ने 2 जनवरी से 14 अप्रैल, 2008 तक प्रस्तुतियाँ स्वीकार कीं। 50 सबसे आशाजनक प्रविष्टियों की घोषणा 12 मई, 2008 को की गई, प्रत्येक को आगे के विकास के लिए $25,000 का पुरस्कार मिला। यह सितंबर की शुरुआत में दस टीमों की घोषणा के साथ समाप्त हुआ, जिनमें से प्रत्येक को $275,000 प्राप्त हुए, और दस टीमों को $100,000 प्राप्त हुए। एडीसी II की घोषणा 27 मई, 2009 को की गई थी। एडीसी II का पहला दौर 6 अक्टूबर 2009 को बंद हुआ। शीर्ष 200 आवेदनों वाले एडीसी II के पहले दौर के विजेताओं की घोषणा 5 नवंबर, 2009 को की गई थी। दूसरे दौर के लिए मतदान भी उसी दिन प्रारम्भ हुआ और 25 नवंबर को समाप्त हुआ। गूगल ने 30 नवंबर को एडीसी II के शीर्ष विजेताओं की घोषणा की। स्वीटड्रीम्स के साथ, व्हाट द डूडल!? और वेवसिक्योर को चुनौती के समग्र विजेता नामित किया जा रहा है।

समुदाय आधारित वितरण
ओपन-सोर्स उत्साही लोगों का एक समुदाय है जो एंड्रॉइड-आधारित वितरण (अर्थात फर्मवेयर) को कई अनुकूलन और अतिरिक्त सुविधाओं, जैसे एफएलएसी दोषरहित ऑडियो समर्थन और माइक्रोएसडी कार्ड पर डाउनलोड किए गए एप्लिकेशन को स्टोर करने की क्षमता के साथ बनाता और साझा करता है। इसमें सामान्यतः डिवाइस को रूट करना (एंड्रॉइड ओएस) सम्मिलित होता है। रूटिंग उपयोगकर्ताओं को ऑपरेटिंग सिस्टम तक रूट एक्सेस की अनुमति देता है, जिससे फ़ोन का पूर्ण नियंत्रण सक्षम हो जाता है। रूटिंग के कई नुकसान भी हैं, जिसमें हैकिंग का जोखिम बढ़ना, ईंट (इलेक्ट्रॉनिक्स) की उच्च संभावना, वारंटी खोना, वायरस के हमले के जोखिम में वृद्धि आदि सम्मिलित हैं। कस्टम फ़र्मवेयर स्थापित करना भी संभव है, हालाँकि डिवाइस का बूट लोडर भी अनलॉक होना चाहिए। कस्टम फर्मवेयर पुराने फोन के उपयोगकर्ताओं को केवल नए रिलीज पर उपलब्ध एप्लिकेशन का उपयोग करने की अनुमति देता है। उन फर्मवेयर पैकेजों को अक्सर अपडेट किया जाता है, एंड्रॉइड कार्यक्षमता के तत्वों को सम्मिलित किया जाता है जो अभी तक एक वाहक-स्वीकृत फर्मवेयर के भीतर आधिकारिक तौर पर जारी नहीं किए गए हैं, और कम सीमाएं हैं। CyanogenMod और OMFGB ऐसे फर्मवेयर के उदाहरण हैं।

24 सितंबर, 2009 को, गूगल ने एक संघर्ष विराम पत्र जारी किया मोडर सायनोजेन को, गूगल के बंद-स्रोत अनुप्रयोगों के पुनर्वितरण के साथ मुद्दों का हवाला देते हुए कस्टम फर्मवेयर के भीतर। भले ही अधिकांश एंड्राइड ओएस (ऑपरेटिंग सिस्टम) खुला स्रोत है, फ़ोन गूगल प्ले और GPS नेविगेशन जैसी कार्यक्षमता के लिए बंद-स्रोत गूगल अनुप्रयोगों के साथ आते हैं। गूगल ने दावा किया है कि ये एप्लिकेशन केवल लाइसेंस प्राप्त वितरकों द्वारा अनुमोदित वितरण चैनलों के माध्यम से प्रदान किए जा सकते हैं। सायनोजेन ने गूगल के लाइसेंस का अनुपालन किया और मालिकाना सॉफ़्टवेयर के बिना अपने मॉड को वितरित करना जारी रखा। इसने मोड की स्थापना प्रक्रिया के दौरान लाइसेंसशुदा गूगल एप्लिकेशन का बैकअप लेने और प्रक्रिया पूरी होने पर उन्हें पुनर्स्थापित करने का एक तरीका प्रदान किया।

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

इतिहास और बाजार में हिस्सेदारी
एंड्राइड ओपन हैंडसेट अलायन्स द्वारा बनाया गया था, जिसका नेतृत्व गूगल कर रहा है। एंड्रॉइड प्लेटफॉर्म के लिए एप्लिकेशन विकसित करने पर शुरुआती प्रतिक्रिया मिली-जुली थी। उद्धृत मुद्दों में बग, दस्तावेज़ीकरण की कमी, अपर्याप्त क्यूए अवसंरचना, और कोई सार्वजनिक निर्गम-ट्रैकिंग प्रणाली सम्मिलित नहीं है। (गूगल ने 18 जनवरी, 2008 को एक इश्यू ट्रैकर की घोषणा की।) दिसंबर 2007 में, मर्ज लैब मोबाइल स्टार्टअप के संस्थापक एडम मैकबेथ ने कहा, कार्यक्षमता वहां नहीं है, खराब दस्तावेज है या बस काम नहीं करता है... यह स्पष्ट रूप से प्राइम टाइम के लिए तैयार नहीं है। इसके बावजूद, प्लेटफॉर्म की घोषणा के एक सप्ताह बाद एंड्राइड-लक्षित एप्लिकेशन दिखाई देने लगे। पहला सार्वजनिक रूप से उपलब्ध एप्लिकेशन स्नेक (वीडियो गेम) था। एंड्राइड एसडीके का एक पूर्वावलोकन रिलीज़ 12 नवंबर, 2007 को जारी किया गया था। 15 जुलाई, 2008 को, एंड्राइड डेवलपर चैलेंज टीम ने गलती से एंड्राइड डेवलपर चैलेंज में सभी प्रवेशकर्ताओं को एक ईमेल भेज दिया, जिसमें घोषणा की गई थी कि एसडीके की एक नई रिलीज़ उपलब्ध थी। निजी डाउनलोड क्षेत्र। ईमेल एंड्राइड डेवलपर चुनौती के पहले दौर के विजेताओं के लिए अभिप्रेत था। यह रहस्योद्घाटन कि गूगल कुछ डेवलपर्स को नए एसडीके रिलीज़ की आपूर्ति कर रहा था और दूसरों को नहीं (और इस व्यवस्था को निजी रखते हुए) उस समय एंड्राइड डेवलपर समुदाय के भीतर व्यापक रूप से निराशा की सूचना दी। 18 अगस्त 2008 को, एंड्राइड 0.9 एसडीके बीटा जारी किया गया था। इस रिलीज़ ने एक अद्यतन और विस्तारित एपीआई, बेहतर विकास उपकरण और होम स्क्रीन के लिए एक अद्यतन डिज़ाइन प्रदान किया। उन्नयन के लिए विस्तृत निर्देश उन लोगों के लिए उपलब्ध हैं जो पहले से ही एक पूर्व रिलीज के साथ काम कर रहे हैं। 23 सितंबर, 2008 को एंड्राइड 1.0 एसडीके (रिलीज़ 1) जारी किया गया था। रिलीज नोट्स के अनुसार, इसमें मुख्य रूप से बग फिक्स सम्मिलित थे, हालांकि कुछ छोटी विशेषताएं जोड़ी गई थीं। इसमें 0.9 संस्करण से कई एपीआई परिवर्तन भी सम्मिलित हैं। इसके विकसित होने के बाद से इसके कई संस्करण जारी किए गए हैं। 5 दिसंबर, 2008 को, गूगल ने पहले एंड्राइड देव फोन की घोषणा की, एक सब्सक्राइबर आइडेंटिटी मॉड्यूल-अनलॉक और हार्डवेयर-अनलॉक डिवाइस जो उन्नत डेवलपर्स के लिए डिज़ाइन किया गया है। यह एचटीसी के ड्रीम फोन का संशोधित संस्करण था। जबकि डेवलपर्स अपने अनुप्रयोगों का परीक्षण और उपयोग करने के लिए नियमित उपभोक्ता उपकरणों का उपयोग कर सकते हैं, कुछ डेवलपर्स एक समर्पित अनलॉक या नो-कॉन्ट्रैक्ट डिवाइस चुन सकते हैं।

एंड्राइड के लिए एक मिलियन से अधिक एप्लिकेशन विकसित किए गए हैं, 25 बिलियन से अधिक डाउनलोड के साथ। जून 2011 के एक शोध ने संकेत दिया कि प्रकाशन के समय 67% से अधिक मोबाइल डेवलपर्स ने मंच का उपयोग किया। 2018 में 85% बाजार हिस्सेदारी के साथ एंड्रॉइड स्मार्टफोन शिपमेंट 1.2 बिलियन यूनिट से अधिक होने का अनुमान है।

यह भी देखें

 * एंड्रॉइड स्टूडियो
 * निःशुल्क और मुक्त-स्रोत एंड्राइड एप्लिकेशन की सूची
 * रूटिंग (एंड्रॉइड)