आर्किटेक्चर की खास जानकारी

एंड्रॉइड ओपन सिस्टम प्लेटफ़ॉर्म (एओएसपी) सार्वजनिक रूप से उपलब्ध और परिवर्तनीय एंड्रॉइड स्रोत कोड है। कोई भी अपने डिवाइस के लिए AOSP को डाउनलोड और संशोधित कर सकता है। AOSP एंड्रॉइड मोबाइल प्लेटफ़ॉर्म का पूर्ण और पूरी तरह कार्यात्मक कार्यान्वयन प्रदान करता है।

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

एओएसपी वास्तुकला

AOSP के लिए सॉफ़्टवेयर स्टैक में निम्नलिखित परतें हैं:

एओएसपी सॉफ्टवेयर स्टैक आर्किटेक्चर।

चित्र 1. AOSP सॉफ़्टवेयर स्टैक आर्किटेक्चर।

चित्र 1 में प्रयुक्त शब्दों की परिभाषाओं की सूची निम्नलिखित है:

एंड्रॉइड ऐप
एक ऐप जो पूरी तरह से एंड्रॉइड एपीआई का उपयोग करके बनाया गया है। एंड्रॉइड ऐप्स ढूंढने और डाउनलोड करने के लिए Google Play Store का व्यापक रूप से उपयोग किया जाता है, हालांकि कई अन्य विकल्प भी हैं। कुछ मामलों में, एक डिवाइस निर्माता डिवाइस की मुख्य कार्यक्षमता का समर्थन करने के लिए एक एंड्रॉइड ऐप प्रीइंस्टॉल करना चाह सकता है। यदि आप Android ऐप्स विकसित करने में रुचि रखते हैं, तो Developers.android.com देखें
विशेषाधिकार प्राप्त ऐप
एंड्रॉइड और सिस्टम एपीआई के संयोजन का उपयोग करके बनाया गया एक ऐप। इन ऐप्स को डिवाइस पर विशेषाधिकार प्राप्त ऐप्स के रूप में पहले से इंस्टॉल किया जाना चाहिए।
डिवाइस निर्माता ऐप
एंड्रॉइड एपीआई, सिस्टम एपीआई और एंड्रॉइड फ्रेमवर्क कार्यान्वयन तक सीधी पहुंच के संयोजन का उपयोग करके बनाया गया एक ऐप। क्योंकि एक डिवाइस निर्माता सीधे एंड्रॉइड फ्रेमवर्क के भीतर अस्थिर एपीआई तक पहुंच सकता है, इन ऐप्स को डिवाइस पर प्रीइंस्टॉल्ड किया जाना चाहिए और केवल तभी अपडेट किया जा सकता है जब डिवाइस का सिस्टम सॉफ़्टवेयर अपडेट हो।
सिस्टम एपीआई
सिस्टम एपीआई एंड्रॉइड एपीआई का प्रतिनिधित्व करता है जो बंडल किए गए अनुप्रयोगों में शामिल करने के लिए केवल भागीदारों और ओईएम के लिए उपलब्ध है। इन एपीआई को स्रोत कोड में @SystemApi के रूप में चिह्नित किया गया है।
एंड्रॉइड एपीआई
एंड्रॉइड एपीआई तीसरे पक्ष के एंड्रॉइड ऐप डेवलपर्स के लिए सार्वजनिक रूप से उपलब्ध एपीआई है। एंड्रॉइड एपीआई पर जानकारी के लिए, एंड्रॉइड एपीआई संदर्भ देखें।
एंड्रॉइड ढांचा
जावा कक्षाओं, इंटरफेस और अन्य पूर्व-संकलित कोड का एक समूह जिस पर ऐप्स बनाए जाते हैं। एंड्रॉइड एपीआई के उपयोग के माध्यम से फ्रेमवर्क के हिस्से सार्वजनिक रूप से पहुंच योग्य हैं। फ्रेमवर्क के अन्य हिस्से सिस्टम एपीआई के उपयोग के माध्यम से केवल ओईएम के लिए उपलब्ध हैं। एंड्रॉइड फ्रेमवर्क कोड एक ऐप की प्रक्रिया के अंदर चलता है।
सिस्टम सेवाएँ
सिस्टम सेवाएँ मॉड्यूलर, केंद्रित घटक हैं जैसे system_server , SurfaceFlinger, और MediaService। एंड्रॉइड फ्रेमवर्क एपीआई द्वारा उजागर की गई कार्यक्षमता अंतर्निहित हार्डवेयर तक पहुंचने के लिए सिस्टम सेवाओं के साथ संचार करती है।
एंड्रॉइड रनटाइम (एआरटी)
AOSP द्वारा प्रदान किया गया एक जावा रनटाइम वातावरण। एआरटी ऐप के बाइटकोड का प्रोसेसर-विशिष्ट निर्देशों में अनुवाद करता है जो डिवाइस के रनटाइम वातावरण द्वारा निष्पादित होते हैं।
हार्डवेयर अमूर्त परत (एचएएल)
एचएएल हार्डवेयर विक्रेताओं के कार्यान्वयन के लिए एक मानक इंटरफ़ेस के साथ एक अमूर्त परत है। एचएएल एंड्रॉइड को निचले स्तर के ड्राइवर कार्यान्वयन के बारे में अज्ञेयवादी होने की अनुमति देता है। एचएएल का उपयोग करने से आप उच्च स्तरीय प्रणाली को प्रभावित या संशोधित किए बिना कार्यक्षमता लागू कर सकते हैं। अधिक जानकारी के लिए, एचएएल सिंहावलोकन देखें।
देशी डेमॉन और पुस्तकालय

इस परत में मूल डेमॉन में init , healthd , logd , और storaged शामिल हैं। ये डेमॉन सीधे कर्नेल या अन्य इंटरफेस के साथ इंटरैक्ट करते हैं और यूजरस्पेस-आधारित एचएएल कार्यान्वयन पर निर्भर नहीं होते हैं।

इस परत में मूल पुस्तकालयों में libc , liblog , libutils , libbinder , और libselinux शामिल हैं। ये नेटिव लाइब्रेरीज़ सीधे कर्नेल या अन्य इंटरफेस के साथ इंटरैक्ट करती हैं और यूजरस्पेस-आधारित एचएएल कार्यान्वयन पर निर्भर नहीं होती हैं।

गुठली

कर्नेल किसी भी ऑपरेटिंग सिस्टम का केंद्रीय हिस्सा है और डिवाइस पर अंतर्निहित हार्डवेयर से बात करता है। जहां संभव हो, AOSP कर्नेल को हार्डवेयर-अज्ञेयवादी मॉड्यूल और विक्रेता-विशिष्ट मॉड्यूल में विभाजित किया गया है। AOSP कर्नेल घटकों की परिभाषाओं सहित विवरण के लिए, कर्नेल अवलोकन देखें।

आगे क्या होगा?

  • यदि आप AOSP में नए हैं, और विकास के साथ शुरुआत करना चाहते हैं, तो प्रारंभ करें अनुभाग देखें।
  • यदि आप AOSP की किसी विशिष्ट परत के बारे में अधिक जानना चाहते हैं, तो बाएं नेविगेशन में अनुभाग के नाम पर क्लिक करें और उस अनुभाग के अवलोकन से शुरुआत करें।