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

From Vigyanwiki

एंड्राइड स्टैक[1]
[1]नेक्सस 4, गूगल नेक्सस श्रृंखला का भाग, डेवलपर-अनुकूल उपकरणों की एक श्रृंखला है[2]

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

आधिकारिक विकास उपकरण

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

एंड्रॉइड ओपन एक्सेसरी डेवलपमेंट किट

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


बाहरी हार्डवेयर विकास

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

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


एंड्रॉइड डेवलपर चैलेंज

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


समुदाय आधारित वितरण

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

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


जावा मानक

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


इतिहास और बाजार में हिस्सेदारी

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

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


यह भी देखें

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

संदर्भ

  1. 1.0 1.1 "The Android Source Code". Source.Android.com. Retrieved February 2, 2017.
  2. Syed H (September 24, 2012). "Editorial: Why You Should Go Nexus". Droid Lessons. Archived from the original on February 18, 2017. Retrieved April 17, 2013.
  3. "Application Fundamentals". Android Developers.
  4. Modesti, Paolo (March 2021). "A Script-Based Approach for Teaching and Assessing Android Application Development". ACM Transactions on Computing Education. 21 (1): 1–24. doi:10.1145/3427593. Retrieved May 8, 2022.
  5. "Android Developers guides". Developer.android.com. Retrieved April 17, 2021.
  6. "BlueStacks". alternativeto. Retrieved September 28, 2022.
  7. "Android Emulator for app testing Cross-platform Android Emulator for manual and automated app testing". Genymotion. Retrieved September 28, 2022.
  8. "Android Emulator for PC". MEmu (in English). Retrieved September 28, 2022.
  9. "Noxplayer". bignox. Retrieved September 28, 2022.
  10. "Windows Subsystem for Android™️". learn.microsoft.com (in English). Retrieved September 28, 2022.
  11. Chen, Jason (May 12, 2008). "The Top 50 Applications". Android Developers Blog. Archived from the original on September 25, 2009. Retrieved September 4, 2009.
  12. Brown, Eric (May 13, 2008). "Android Developer Challenge announces first-round winners". Linux for Devices. Archived from the original on May 14, 2008.
  13. "ADC I Top 50 Gallery". Android Developer Challenge. Retrieved May 19, 2009.
  14. "Android Developer Challenge". Google Code. Retrieved January 11, 2008.
  15. Chu, Eric (October 6, 2009). "ADC 2 Round 1 Scoring Complete". Android Developers Blog. Archived from the original on November 1, 2009. Retrieved November 3, 2009.
  16. "ADC 2 Overall Winners". Android Developer Challenge. Archived from the original on January 4, 2011. Retrieved December 5, 2010.
  17. Kharif, Olga (November 30, 2009). "Android Developer Challenge 2 Winners Announced". BusinessWeek. Retrieved December 5, 2010.
  18. "Dream android development". xda-developers forum. Retrieved September 11, 2009.
  19. "Rooting: Advantages and Disadvantages". ITCSE forum. Archived from the original on November 29, 2014. Retrieved September 21, 2013.
  20. "Android 2.1 from Motorola Droid Ported to G1". Volt Mobile. March 10, 2010. Archived from the original on May 31, 2011. Retrieved May 13, 2011.
  21. Wimberly, Taylor (September 24, 2009). "CyanogenMod in trouble?". Android and me. Archived from the original on October 3, 2009. Retrieved September 26, 2009.
  22. Morrill, Dan (September 25, 2009). "A Note on Google Apps for Android". Android Developers Blog. Archived from the original on October 25, 2009. Retrieved September 26, 2009.
  23. "The current state..." CyanogenMod Android ROM. September 27, 2009. Archived from the original on November 3, 2009. Retrieved September 27, 2009.
  24. van Gurp, Jilles (November 13, 2007). "Google Android: Initial Impressions and Criticism". Javalobby. Archived from the original on August 28, 2008. Retrieved March 7, 2009. Frankly, I don't understand why Google intends to ignore the vast amount of existing implementation out there. It seems like a bad case of "not invented here" to me. Ultimately, this will slow adoption. There are already too many Java platforms for the mobile world and this is yet another one
  25. "Myriad's New J2Android Converter Fuels Android Applications Gold Rush". March 19, 2010. Archived from the original on July 4, 2011. Retrieved May 13, 2011.
  26. Fruhlinger, Josh (March 23, 2010). "J2Android hopes you don't know that Android is Java-based". JavaWorld. Retrieved 2020-07-13. On the other hand, you might think this is kind of a scam aimed at developers who don't really understand the nature of the platform they're targeting. My biggest complaint is that you'd think that Mikael Ricknäs, the IDG News Service reporter who wrote the first story linked to above (who toils for the same company that publishes JavaWorld), would have at least mentioned the relationship between Java and Android to make the oddness of this announcement clear.
  27. Fruhlinger, Josh (March 31, 2010). "Myriad CTO: J2Android moves MIDlets to "beautiful" Android framework". JavaWorld. Retrieved 2020-07-13. We will have to wait and see exactly how much pickup J2Android actually sees. The tool isn't actually available on the open market just yet; while Schillings spoke optimistically about "converting 1,000 MIDlets in an afternoon," at the moment they're working with a few providers to transform their back catalogs. So those of you out there hoping to avoid learning how to write Android code may have to wait a while.
  28. Paul, Ryan (December 19, 2007). "Developing apps for Google Android: it's a mixed bag". Ars Technica. Archived from the original on December 20, 2007. Retrieved December 19, 2007.
  29. Morrill, Dan (January 18, 2008). "You can't rush perfection, but now you can file bugs against it". Android Developers Blog. Retrieved September 3, 2009.
  30. Morrison, Scott (December 19, 2007). "Glitches Bug Google's Android Software". The Wall Street Journal. Retrieved December 19, 2007.
  31. "Snake". Android Freeware. Retrieved October 14, 2021.
  32. "First Android Application — Snake". Mobiles2day. November 14, 2007. Archived from the original on May 11, 2008. Retrieved January 7, 2008.
  33. Metz, Cade (July 14, 2008). "Google plays Hide and Seek with Android SDK". The Register. Archived from the original on October 6, 2008. Retrieved October 23, 2008.
  34. "Android — An Open Handset Alliance Project: Upgrading the SDK". Archived from the original on September 13, 2008. Retrieved October 24, 2008.
  35. "Other SDK Releases". Android Developers. Retrieved September 2, 2009.
  36. "SDK Archives". Android Developers.
  37. "Google Play Hits 1 Million Apps". Mashable. July 24, 2013.
  38. "Android App Stats". Archived from the original on January 2, 2011. Retrieved December 31, 2010.
  39. Leena Rao (April 14, 2011). "Google: 3 Billion Android Apps Installed; Downloads Up 50 Percent From Last Quarter". Techcrunch. Archived from the original on April 25, 2011. Retrieved May 13, 2011.
  40. "Developer Economics 2011". Archived from the original on September 29, 2013. Retrieved July 8, 2011.
  41. "Worldwide Smartphone Volumes Will Remain Down in 2018 Before Returning to Growth in 2019 and Beyond, According to IDC". idc.com. May 30, 2018. Archived from the original on October 17, 2019. Retrieved June 6, 2018.


ग्रन्थसूची