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

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

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

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

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

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

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

एंड्रॉइड डेवलपर चैलेंज
एंड्रॉइड डेवलपर चैलेंज एंड्रॉइड के लिए सबसे नवीन एप्लिकेशन खोजने की एक प्रतियोगिता थी। Google ने ADC I और ADC 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 के शीर्ष विजेताओं की घोषणा की। स्वीटड्रीम्स के साथ, व्हाट द डूडल!? और वेवसिक्योर को चुनौती के समग्र विजेता नामित किया जा रहा है।

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

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

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

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

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

यह भी देखें

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