एंड्रॉइड ओपन सिस्टम प्लेटफार्म (एओएसपी) सार्वजनिक रूप से उपलब्ध है और संशोधित एंड्रॉइड स्रोत कोड है। कोई भी अपने डिवाइस के लिए AOSP को डाउनलोड और संशोधित कर सकता है। AOSP Android मोबाइल प्लेटफ़ॉर्म का पूर्ण और पूर्ण कार्यात्मक कार्यान्वयन प्रदान करता है।
AOSP को लागू करने वाले उपकरणों के लिए संगतता के दो स्तर हैं: AOSP संगतता और Android संगतता। एक एओएसपी-संगत डिवाइस को संगतता परिभाषा दस्तावेज़ (सीडीडी) में आवश्यकताओं की सूची के अनुरूप होना चाहिए। Android-संगत डिवाइस को CDD और वेंडर सॉफ़्टवेयर आवश्यकताएँ (VSR) और वेंडर टेस्ट सूट (VTS) और कम्पैटिबिलिटी टेस्ट सूट (CTS) जैसे परीक्षणों में आवश्यकताओं की सूची के अनुरूप होना चाहिए। Android अनुकूलता के बारे में अधिक जानकारी के लिए, Android संगतता कार्यक्रम देखें।
एओएसपी वास्तुकला
एओएसपी के लिए सॉफ्टवेयर स्टैक में निम्नलिखित परतें हैं:
चित्र 1. एओएसपी सॉफ्टवेयर स्टैक आर्किटेक्चर।
चित्र 1 में प्रयुक्त शब्दों की परिभाषाओं की सूची निम्नलिखित है:
- एंड्रॉइड ऐप
- केवल Android API का उपयोग करके बनाया गया एक ऐप। Google Play Store का व्यापक रूप से एंड्रॉइड ऐप खोजने और डाउनलोड करने के लिए उपयोग किया जाता है, हालांकि कई अन्य विकल्प हैं। कुछ मामलों में, डिवाइस निर्माता डिवाइस की मुख्य कार्यक्षमता का समर्थन करने के लिए एंड्रॉइड ऐप को प्रीइंस्टॉल करना चाह सकता है। यदि आप Android ऐप्स विकसित करने में रुचि रखते हैं, तो Developers.android.com देखें
- विशेषाधिकार प्राप्त ऐप
- Android और सिस्टम API के संयोजन का उपयोग करके बनाया गया एक ऐप। इन ऐप्स को किसी डिवाइस पर विशेषाधिकार प्राप्त ऐप्स के रूप में पहले से इंस्टॉल किया जाना चाहिए।
- डिवाइस निर्माता ऐप
- एंड्रॉइड एपीआई, सिस्टम एपीआई और एंड्रॉइड फ्रेमवर्क कार्यान्वयन के लिए सीधी पहुंच के संयोजन का उपयोग करके बनाया गया एक ऐप। क्योंकि एक डिवाइस निर्माता सीधे एंड्रॉइड फ्रेमवर्क के भीतर अस्थिर एपीआई तक पहुंच सकता है, इन ऐप्स को डिवाइस पर पहले से इंस्टॉल किया जाना चाहिए और डिवाइस के सिस्टम सॉफ़्टवेयर को अपडेट किए जाने पर ही अपडेट किया जा सकता है।
- सिस्टम एपीआई
- सिस्टम एपीआई बंडल किए गए एप्लिकेशन में शामिल करने के लिए केवल भागीदारों और ओईएम के लिए उपलब्ध एंड्रॉइड एपीआई का प्रतिनिधित्व करता है। इन एपीआई को स्रोत कोड में @SystemApi के रूप में चिह्नित किया गया है।
- एंड्रॉइड एपीआई
- एंड्रॉइड एपीआई तीसरे पक्ष के एंड्रॉइड ऐप डेवलपर्स के लिए सार्वजनिक रूप से उपलब्ध एपीआई है। Android API के बारे में जानकारी के लिए, Android API संदर्भ देखें।
- एंड्रॉइड फ्रेमवर्क
- जावा कक्षाओं का एक समूह, इंटरफेस और अन्य पूर्व-संकलित कोड जिस पर ऐप्स बनाए जाते हैं। एंड्रॉइड एपीआई के उपयोग के माध्यम से ढांचे के हिस्से सार्वजनिक रूप से सुलभ हैं। ढांचे के अन्य हिस्से सिस्टम एपीआई के उपयोग के माध्यम से केवल ओईएम के लिए उपलब्ध हैं। एंड्रॉइड फ्रेमवर्क कोड ऐप की प्रक्रिया के अंदर चलता है।
- सिस्टम सेवाएं
- सिस्टम सेवाएं मॉड्यूलर, केंद्रित घटक हैं जैसे कि
system_server
, SurfaceFlinger, और MediaService। एंड्रॉइड फ्रेमवर्क एपीआई द्वारा उजागर की गई कार्यक्षमता अंतर्निहित हार्डवेयर तक पहुंचने के लिए सिस्टम सेवाओं के साथ संचार करती है। - एंड्रॉइड रनटाइम (एआरटी)
- एओएसपी द्वारा प्रदान किया गया जावा रनटाइम वातावरण। एआरटी ऐप के बायटेकोड का प्रोसेसर-विशिष्ट निर्देशों में अनुवाद करता है जो डिवाइस के रनटाइम वातावरण द्वारा निष्पादित होते हैं।
- हार्डवेयर अमूर्त परत (एचएएल)
- एक एचएएल हार्डवेयर विक्रेताओं के कार्यान्वयन के लिए एक मानक इंटरफ़ेस के साथ एक अमूर्त परत है। एचएएल एंड्रॉइड को निचले स्तर के ड्राइवर कार्यान्वयन के बारे में अज्ञेयवादी होने की अनुमति देते हैं। एचएएल का उपयोग करने से आप उच्च स्तरीय प्रणाली को प्रभावित या संशोधित किए बिना कार्यक्षमता लागू कर सकते हैं। अधिक जानकारी के लिए एचएएल अवलोकन देखें।
- देशी डेमॉन और पुस्तकालय
इस परत में मूल डेमॉन में शामिल हैं
init
,healthd
,logd
, औरstoraged
। ये डेमॉन सीधे कर्नेल या अन्य इंटरफेस के साथ इंटरैक्ट करते हैं और यूजरस्पेस-आधारित एचएएल कार्यान्वयन पर निर्भर नहीं होते हैं।इस परत में मूल पुस्तकालयों में शामिल हैं
libc
,liblog
,libutils
,libbinder
, औरlibselinux
। ये नेटिव लाइब्रेरी कर्नेल या अन्य इंटरफेस के साथ सीधे इंटरैक्ट करते हैं और यूजरस्पेस-आधारित एचएएल कार्यान्वयन पर निर्भर नहीं होते हैं।- गुठली
कर्नेल किसी भी ऑपरेटिंग सिस्टम का मध्य भाग है और डिवाइस पर अंतर्निहित हार्डवेयर से बात करता है। जहां संभव हो, एओएसपी कर्नेल हार्डवेयर-अज्ञेयवादी मॉड्यूल और विक्रेता-विशिष्ट मॉड्यूल में विभाजित है। AOSP कर्नेल घटकों की परिभाषाओं सहित विवरण के लिए, कर्नेल ओवरव्यू देखें।
आगे क्या होगा?
- यदि आप एओएसपी के लिए नए हैं, और विकास के साथ आरंभ करना चाहते हैं, तो प्रारंभ करें अनुभाग देखें।
- यदि आप AOSP की किसी विशिष्ट परत के बारे में अधिक जानना चाहते हैं, तो बाएँ नेविगेशन में अनुभाग के नाम पर क्लिक करें और उस अनुभाग के अवलोकन के साथ प्रारंभ करें।