AOSP के बारे में खास जानकारी

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

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

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

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

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

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

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

Android के लिए फ़र्स्ट-पार्टी ऐप्लिकेशन डेवलपर
Android ऐप्लिकेशन डेवलपर, जिसके पास AOSP सिस्टम एपीआई का ऐक्सेस है और जो खास अधिकार वाले ऐप्लिकेशन और डिवाइस बनाने वाली कंपनी के ऐप्लिकेशन लिखता है.
Android के लिए तीसरे पक्ष के ऐप्लिकेशन का डेवलपर
Android ऐप्लिकेशन डेवलपर, जो Android ऐप्लिकेशन बनाने के लिए सिर्फ़ Android के सार्वजनिक SDK का इस्तेमाल करता है.

अगर आपको Android के लिए तीसरे पक्ष के ऐप्लिकेशन डेवलप करने हैं, तो developer.android.com पर जाएं. इस वेबसाइट पर दी गई जानकारी सिर्फ़ उन लोगों के लिए है जो सीधे तौर पर AOSP के साथ काम करते हैं.

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

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

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

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

Compatibility Test Suite (CTS)

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

Cuttlefish

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

डेवलपर

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

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

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

Target

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

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

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

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

ज़ाहिर है कि बिना किसी कंट्रोल के बदलाव करने से, लागू करने में समस्याएं आ सकती हैं. Android Open Source Project (AOSP), Android Compatibility program को मैनेज करता है. इससे यह पक्का किया जाता है कि डिवाइस, Android के साथ काम करे. इसमें यह बताया गया है कि Android के साथ काम करने का क्या मतलब है और डिवाइस बनाने वाली कंपनियों को यह स्टेटस पाने के लिए क्या करना होगा. कोई भी व्यक्ति, Android के सोर्स कोड का इस्तेमाल किसी भी मकसद से कर सकता है. Google, सभी सही इस्तेमाल का स्वागत करता है. हालांकि, Android के लिए OHA के सदस्य जो ऐप्लिकेशन बना रहे हैं उनके शेयर किए गए इकोसिस्टम में हिस्सा लेने के लिए, डिवाइस बनाने वाली कंपनियों को Android Compatibility Program में शामिल होना होगा.

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

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

  • अगर आपको AOSP के बारे में ज़्यादा जानकारी नहीं है और आपको AOSP डेवलपमेंट के बारे में ट्यूटोरियल देखना है, तो AOSP ट्यूटोरियल पर जाएं.

  • अगर आपको लगता है कि आपके डिवाइस पर Android ऐप्लिकेशन काम करने चाहिए, तो Android Compatibility Program के बारे में पढ़ें.

  • अगर आपको AOSP के बारे में ज़्यादा जानना है, तो AOSP के बारे में अक्सर पूछे जाने वाले सवाल पढ़ें. इसमें Google की इस प्लैटफ़ॉर्म में भागीदारी के बारे में भी बताया गया है.