AOSP की खास जानकारी

Android कई तरह के डिवाइसों के लिए एक ऑपरेटिंग सिस्टम है. इस डिवाइस के नाप या आकार अलग-अलग होते हैं. Android का दस्तावेज़ और सोर्स कोड किसी भी व्यक्ति के लिए Android ओपन सोर्स प्रोजेक्ट (AOSP) के रूप में उपलब्ध है. अपने डिवाइसों के लिए, अपनी पसंद के मुताबिक Android OS के वैरिएंट बनाए जा सकते हैं. इसके लिए, AOSP का इस्तेमाल करें.

एओएसपी को इस तरह से डिज़ाइन किया गया है कि गड़बड़ी की कोई मुख्य वजह न हो जहां कोई एक इंडस्ट्री प्लेयर, दूसरे के इनोवेशन पर पाबंदी लगाता है या उसे कंट्रोल करता है. इसलिए, AOSP एक पूरी तरह से प्रोडक्शन-क्वालिटी वाला डेवलपर प्रॉडक्ट है, जिसमें पसंद के मुताबिक बनाने और पोर्ट करने के लिए सोर्स कोड ओपन है.

दस्तावेज़ का यह सेक्शन नए एओएसपी डेवलपर को प्लैटफ़ॉर्म इस्तेमाल करने और डेवलपमेंट से जुड़े ज़रूरी काम करने में मदद करता है.

ज़रूरी शर्तें

शुरुआती दस्तावेज़ में जिन शब्दों और परिभाषाओं का इस्तेमाल किया गया है उनकी सूची नीचे दी गई है. आगे बढ़ने से पहले आपको हर परिभाषा पढ़ लेनी चाहिए.

Android ऐप्लिकेशन डेवलपर

Android ऐप्लिकेशन डेवलपर, Android पर चलने वाले Android ऐप्लिकेशन या ऐप्लिकेशन लिखते हैं. ऐप्लिकेशन डेवलपर दो कैटगरी में आते हैं: पहला पक्ष (1p) और तीसरे पक्ष (3p) के ऐप्लिकेशन डेवलपर.

Android 1p ऐप्लिकेशन डेवलपर
एक ऐसा Android ऐप्लिकेशन डेवलपर जिसके पास एओएसपी सिस्टम एपीआई का ऐक्सेस है. साथ ही, खास अधिकार रखने वाले और डिवाइस बनाने वाली कंपनी के ऐप्लिकेशन में बदलाव करता है.
Android 3p ऐप्लिकेशन डेवलपर
Android ऐप्लिकेशन डेवलपर, जो Android ऐप्लिकेशन बनाने के लिए सिर्फ़ Android के सार्वजनिक SDK टूल का इस्तेमाल करता हो.

अगर आपको Android के लिए 3p वाले ऐप्लिकेशन डेवलप करने हैं, तो developers.android.com देखें. इस वेबसाइट पर दी गई जानकारी सिर्फ़ एओएसपी के साथ काम करने वाले लोगों के लिए है.

Android डीबग ब्रिज (ADB)
यह कमांड-लाइन टूल (adb) की मदद से, आपके वर्कस्टेशन को वर्चुअल, सॉफ़्टवेयर की नकल किए गए या फ़िज़िकल डिवाइस से कनेक्ट करने की सुविधा देता है.
Android डिवाइस पर काम करने वाला डिवाइस
एक ऐसा डिवाइस जो Android SDK और एनडीके का इस्तेमाल करके, तीसरे पक्ष के डेवलपर के लिखे हुए किसी भी तीसरे पक्ष के ऐप्लिकेशन को चला सकता है. यह ज़रूरी है कि Android पर चलने वाले डिवाइस, कंपैटबिलिटी डेफ़िनिशन दस्तावेज़ (सीडीडी) की ज़रूरी शर्तों को पूरा करते हों. साथ ही, उन्हें कंपैटबिलिटी टेस्ट सुइट (सीटीएस) में पास किया गया हो. Android नेटवर्क का इस्तेमाल करने वाले डिवाइस, इस सुविधा का इस्तेमाल कर सकते हैं. इनमें Android Play Store का लाइसेंस, ऐप्लिकेशन और एपीआई के Google Mobile Services (GMS) सुइट, और Android ट्रेडमार्क का इस्तेमाल करना शामिल है. कोई भी व्यक्ति Android सोर्स कोड का इस्तेमाल कर सकता है. हालाँकि, Android नेटवर्क का हिस्सा बनने के लिए, यह ज़रूरी है कि डिवाइस Android के साथ काम करता हो. काम करने की क्षमता और CTS के बारे में ज़्यादा जानकारी के लिए, Android कंपैटबिलिटी प्रोग्राम की खास जानकारी
देखें
कंपैटबिलिटी डेफ़िनिशन दस्तावेज़ (सीडीडी)
यह एक ऐसा दस्तावेज़ है जिसमें Android के साथ काम करने वाले किसी डिवाइस के सॉफ़्टवेयर और हार्डवेयर की ज़रूरी शर्तों की जानकारी होती है.
योगदान देने वाला

एओएसपी सोर्स कोड में योगदान देने वाला व्यक्ति. योगदान देने वाले लोग, Google के कर्मचारी, दूसरी कंपनियों के कर्मचारी हो सकते हैं. इसके अलावा, वे ऐसे व्यक्ति भी हो सकते हैं जो कंपनी से जुड़े न हों. हर एओएसपी में एक ही तरह के टूल इस्तेमाल किए जाते हैं, कोड समीक्षा की एक जैसी प्रोसेस अपनाई जाती है, और हर एओएसपी की कोडिंग स्टाइल एक जैसी होती है. एओएसपी को इस्तेमाल करने के लिए, आपको योगदान देने वाला होना ज़रूरी नहीं है. आपके पास एओएसपी डाउनलोड करके, उसे अपनी ज़रूरतों के हिसाब से बदलने का विकल्प होता है. साथ ही, उसे किसी ऐसे डिवाइस पर डिप्लॉय किया जा सकता है जिसे अन्य लोगों के इस्तेमाल के लिए कोड नहीं दिया जाता.

Google किस तरह के कोड योगदान स्वीकार करता है, इसकी कुछ सीमाएं हैं. उदाहरण के लिए, हो सकता है कि आप किसी वैकल्पिक ऐप्लिकेशन एपीआई का योगदान देना चाहें, जैसे कि फ़ुल C++ पर आधारित एनवायरमेंट. Google इस योगदान को अस्वीकार कर देगा, क्योंकि Android, ऐप्लिकेशन को एआरटी रनटाइम में चलाने के लिए बढ़ावा देता है. इसी तरह, Google ऐसी GPL या LGPL लाइब्रेरी जैसे योगदान स्वीकार नहीं करता जो लाइसेंस देने के लक्ष्यों के साथ काम न करती हों.

अगर आपको सोर्स कोड का योगदान देना है, तो काम शुरू करने से पहले, Google से संपर्क करें.

कंपैटबिलिटी टेस्ट सुइट (सीटीएस)

यह एक मुफ़्त व्यावसायिक टेस्ट सुइट है. इसे एओएसपी में बाइनरी या सोर्स के तौर पर डाउनलोड किया जा सकता है. सीटीएस, यूनिट टेस्ट का एक सेट है. इसे आपके रोज़ के वर्कफ़्लो में शामिल करने के लिए डिज़ाइन किया गया है. CTS का मकसद, सिस्टम के साथ काम करने में आने वाली समस्याओं के बारे में बताना है. साथ ही, यह पक्का करना है कि सॉफ़्टवेयर, डेवलपमेंट की पूरी प्रक्रिया के दौरान साथ काम करता रहे.

कटलफ़िश

Android के साथ काम करने वाला, कॉन्फ़िगर किया जा सकने वाला वर्चुअल डिवाइस, जो रिमोट तरीके से भी काम कर सकता है. इसे Google Cloud Engine जैसे तीसरे पक्ष के क्लाउड वर्शन और स्थानीय तौर पर Linux x86 मशीनों पर चलाया जा सकता है.

डेवलपर

एओएसपी के हिसाब से, डेवलपर वह होता है जो किसी भी तरह से एओएसपी के साथ काम करता है. "डेवलपर" शब्द का इस्तेमाल, आम तौर पर उन लोगों के लिए किया जाता है जो यह दस्तावेज़ पढ़ सकते हैं. जैसे, ओरिजनल इक्विपमेंट मैन्युफ़ैक्चरर (OEMs), हैंडसेट बनाने वाली कंपनियां, मोबाइल और इंटरनेट सेवा देने वाली कंपनियां, और सिस्टम-ऑन-ए-चिप (SoC) बनाने वाले क्रिएटर्स.

Google मोबाइल सेवाएं (GMS)

Google के ऐप्लिकेशन और एपीआई का कलेक्शन, जिन्हें डिवाइसों पर पहले से इंस्टॉल किया जा सकता है.

Target

किसी डिवाइस के क्रम के हिसाब से, कोई खास मॉडल या डिवाइस का नाप या आकार. उदाहरण के लिए, aosp_cf_x86_64_phone-userdebug, x86 65 एमबी वाले फ़ोन के बारे में बताता है. इसमें डीबग करने की जानकारी मौजूद है. इसे कटलफ़िश एम्युलेटर पर चलने के लिए डिज़ाइन किया गया है.

गवर्नेंस फ़िलॉसफ़ी

Android की शुरुआत Google की अगुवाई में Open Handset Alliance (ओएचए) नाम की कंपनियों के समूह से हुई थी. आज, कई कंपनियों ने Android में भारी निवेश किया है. इनमें ओएचए के मूल सदस्य और अन्य कंपनियां शामिल हैं. इन कंपनियों ने Android को बेहतर बनाने और बाज़ार में Android डिवाइस लाने के लिए कई अहम इंजीनियरिंग संसाधन तैयार किए हैं.

जिन कंपनियों ने Android में निवेश किया है उन्होंने ऐसा इसलिए किया है, क्योंकि उन्हें लगता है कि इसके लिए एक ओपन प्लैटफ़ॉर्म होना ज़रूरी है. Android, जान-बूझकर एक ओपन सोर्स के तौर पर काम करता है (बिना किसी शुल्क वाले सॉफ़्टवेयर के बजाय). एक जैसी ज़रूरतों वाले संगठनों के एक ग्रुप ने, शेयर किए गए प्रॉडक्ट को लागू करने के लिए, पूल किए गए संसाधन तैयार किए हैं. पहली और सबसे अहम बात, Android का सिद्धांत व्यावहारिक है. मकसद, शेयर किया गया ऐसा प्रॉडक्ट है जिसे योगदान देने वाला हर व्यक्ति, अपने हिसाब से बना सकता है और पसंद के मुताबिक बना सकता है.

बेशक, हो सकता है कि सुविधाओं को कंट्रोल न कर पाने की वजह से, इन्हें लागू न किया जा सके. असंगतता से बचने के लिए Android ओपन सोर्स प्रोजेक्ट (एओएसपी) Android के साथ काम करने से जुड़ा प्रोग्राम बनाए रखता है, जो बताता है कि Android के साथ काम करने वाले होने के मतलब क्या हैं और इस स्थिति को हासिल करने के लिए डिवाइस बिल्डर की क्या ज़रूरत है. कोई भी व्यक्ति किसी भी काम के लिए, Android सोर्स कोड का इस्तेमाल कर सकता है. साथ ही, Google किसी भी तरह के सही इस्तेमाल का स्वागत करता है. हालांकि, ओएचए के सदस्य Android के लिए जो ऐप्लिकेशन बना रहे हैं उनके शेयर किए गए नेटवर्क में हिस्सा लेने के लिए, डिवाइस बिल्डर को Android के साथ काम करने वाले प्रोग्राम में हिस्सा लेना होगा.

Google, AOSP की अगुवाई करता है. यह Android का रखरखाव करता है और उसे आगे डेवलप करता है. हालांकि Android में कई सबप्रोजेक्ट शामिल हैं, लेकिन एओएसपी पूरी तरह से प्रोजेक्ट मैनेजमेंट है. Google, Android को सिर्फ़ एक बेहतर सॉफ़्टवेयर प्रॉडक्ट के तौर पर देखता है और उसे मैनेज करता है. इसका इस्तेमाल, डिस्ट्रिब्यूशन, स्पेसिफ़िकेशन या बदले जा सकने वाले पार्ट के कलेक्शन के तौर पर नहीं किया जा सकता. Google का मकसद यह है कि डिवाइस बिल्डर, Android को किसी डिवाइस में पोर्ट करें; वे न तो कोई खास निर्देश लागू करते हैं और न ही कोई डिस्ट्रिब्यूशन चुनते हैं.

आगे क्या करना है?