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 के लिए तीसरे पक्ष के ऐप्लिकेशन डेवलप करने हैं, तो developers.android.com
पर जाएं. इस वेबसाइट पर दी गई जानकारी, सिर्फ़ उन लोगों के लिए है जो सीधे तौर पर AOSP के साथ काम करते हैं.
- Android डीबग ब्रिज (adb)
- यह कमांड-लाइन टूल (
adb
) की मदद से, आपके वर्कस्टेशन को वर्चुअल, सॉफ़्टवेयर की नकल किए गए या फ़िज़िकल डिवाइस से कनेक्ट करने की सुविधा देता है. - Android डिवाइस पर काम करने वाला डिवाइस
- ऐसा डिवाइस जो Android SDK और NDK का इस्तेमाल करके, तीसरे पक्ष के डेवलपर के लिखे गए किसी भी तीसरे पक्ष के ऐप्लिकेशन को चला सकता है. Android के साथ काम करने वाले डिवाइसों को कंपैटबिलिटी डेफ़िनिशन डॉक्यूमेंट (सीडीडी) की ज़रूरी शर्तों का पालन करना होगा. साथ ही, उन्हें कंपैटबिलिटी टेस्ट सुइट (सीटीएस) पास करना होगा. Android नेटवर्क का इस्तेमाल करने वाले डिवाइस, इस सुविधा का इस्तेमाल कर सकते हैं. इनमें Android Play Store का लाइसेंस, ऐप्लिकेशन और एपीआई के Google Mobile Services (GMS) सुइट, और Android ट्रेडमार्क का इस्तेमाल करना शामिल है. Android सोर्स कोड का इस्तेमाल कोई भी कर सकता है. हालांकि, किसी डिवाइस को Android के पारिस्थितिक तंत्र का हिस्सा माना जा सकता है, इसके लिए ज़रूरी है कि वह Android के साथ काम करता हो. डिवाइसों के साथ काम करने की सुविधा और सीटीएस के बारे में ज़्यादा जानने के लिए, Android Compatibility Program की खास जानकारी देखें
- कंपैटबिलिटी डेफ़िनिशन डॉक्यूमेंट (सीडीडी)
- ऐसा दस्तावेज़ जिसमें Android के साथ काम करने वाले डिवाइस के लिए, सॉफ़्टवेयर और हार्डवेयर की ज़रूरी शर्तों के बारे में बताया गया हो.
- योगदान देने वाला
एओएसपी सोर्स कोड में योगदान देने वाला व्यक्ति. योगदान देने वाले लोग, Google के कर्मचारी, दूसरी कंपनियों के कर्मचारी, और ऐसे लोग हो सकते हैं जिनका किसी कंपनी से कोई संबंध न हो. AOSP में योगदान देने वाला हर व्यक्ति, एक ही टूल का इस्तेमाल करता है. साथ ही, कोड की समीक्षा की एक ही प्रोसेस का पालन करता है और एक ही कोडिंग स्टाइल का इस्तेमाल करता है. AOSP का इस्तेमाल करने के लिए, आपको योगदान देने वाले व्यक्ति के तौर पर रजिस्टर करने की ज़रूरत नहीं है. AOSP को डाउनलोड करके, अपनी ज़रूरतों के हिसाब से उसमें बदलाव किया जा सकता है. साथ ही, उसे किसी डिवाइस पर डिप्लॉय किया जा सकता है. इसके लिए, आपको दूसरों के इस्तेमाल के लिए कोड देने की ज़रूरत नहीं है.
Google, कोड के किस तरह के योगदान स्वीकार करता है, इसकी सीमाएं हैं. उदाहरण के लिए, हो सकता है कि आप किसी अन्य ऐप्लिकेशन एपीआई का योगदान देना चाहें, जैसे कि C++ पर आधारित पूरा एनवायरमेंट. Google इस योगदान को अस्वीकार कर देगा, क्योंकि Android, ऐप्लिकेशन को एआरटी रनटाइम में चलाने के लिए बढ़ावा देता है. इसी तरह, Google GPL या LGPL लाइब्रेरी जैसे योगदान स्वीकार नहीं करता, जो लाइसेंस देने के लक्ष्यों के साथ काम नहीं करती हैं.
अगर आपको सोर्स कोड में योगदान देना है, तो काम शुरू करने से पहले Google से संपर्क करें.
- कंपैटिबिलिटी टेस्ट सुइट (CTS)
मुफ़्त में उपलब्ध, व्यावसायिक ग्रेड का टेस्ट सुइट. इसे AOSP में बाइनरी या सोर्स के तौर पर डाउनलोड किया जा सकता है. सीटीएस, यूनिट टेस्ट का एक सेट है. इसे आपके रोज़ के वर्कफ़्लो में इंटिग्रेट करने के लिए डिज़ाइन किया गया है. CTS का मकसद, सिस्टम के साथ काम करने में आने वाली समस्याओं के बारे में बताना है. साथ ही, यह पक्का करना है कि सॉफ़्टवेयर, डेवलपमेंट की पूरी प्रक्रिया के दौरान साथ काम करता रहे.
- कटलफ़िश
कॉन्फ़िगर किया जा सकने वाला वर्चुअल Android डिवाइस, जो तीसरे पक्ष के क्लाउड ऑफ़र (जैसे, Google Cloud Engine) का इस्तेमाल करके, किसी दूसरी जगह से चलाया जा सकता है. साथ ही, इसे स्थानीय तौर पर Linux x86 मशीनों पर भी चलाया जा सकता है.
- डेवलपर
AOSP के संदर्भ में, डेवलपर वह व्यक्ति होता है जो किसी भी तरह से AOSP के साथ काम करता है. "डेवलपर" शब्द का इस्तेमाल, आम तौर पर उन अलग-अलग लोगों के लिए किया जाता है जो इस दस्तावेज़ को पढ़ सकते हैं. जैसे, ओरिजनल इक्विपमेंट मैन्युफ़ैक्चरर (ओईएम), हैंडसेट बनाने वाली कंपनियां, मोबाइल और इंटरनेट सेवा देने वाली कंपनियां, और सिस्टम-ऑन-एक-चिप (SoC) बनाने वाली कंपनियां.
- Google मोबाइल सेवाएं (GMS)
Google के ऐप्लिकेशन और एपीआई का कलेक्शन, जिन्हें डिवाइसों पर पहले से इंस्टॉल किया जा सकता है.
- Target
किसी डिवाइस का कोई वैरिएंट, जैसे कि कोई खास मॉडल या फ़ॉर्म फ़ैक्टर. उदाहरण के लिए,
aosp_cf_x86_64_phone-userdebug
, x86 65 एमबी वाले फ़ोन के बारे में बताता है. इसमें डीबग करने की जानकारी मौजूद है. इसे कटलफ़िश एम्युलेटर पर चलने के लिए डिज़ाइन किया गया है.
मैनेजमेंट का फ़िलॉसफ़ी
कंपनी के एक समूह को Android की शुरुआत, Open Handset Alliance (OHA) के नाम से जाना जाता है. Google की अगुवाई होती है. आज, कई कंपनियों ने Android में काफ़ी निवेश किया है. इनमें OHA के ओरिजनल सदस्य और अन्य कंपनियां शामिल हैं. इन कंपनियों ने Android को बेहतर बनाने और बाज़ार में Android डिवाइस लाने के लिए कई अहम इंजीनियरिंग संसाधन तैयार किए हैं.
जिन कंपनियों ने Android में निवेश किया है उन्होंने ऐसा इसलिए किया है, क्योंकि उन्हें लगता है कि इसके लिए एक ओपन प्लैटफ़ॉर्म होना ज़रूरी है. Android को जान-बूझकर और साफ़ तौर पर ओपन-सोर्स सॉफ़्टवेयर के तौर पर बनाया गया है, न कि मुफ़्त सॉफ़्टवेयर के तौर पर. एक जैसे काम करने वाले संगठनों के एक ग्रुप ने, एक जैसे प्रॉडक्ट को लागू करने के लिए मिलकर काम किया है. सबसे पहले, Android का फ़िलॉसफ़ी व्यावहारिक है. मकसद, शेयर किया गया ऐसा प्रॉडक्ट बनाना है जिसे हर योगदान देने वाला अपने हिसाब से बना सके और पसंद के मुताबिक बदल सके.
हालांकि, बिना किसी कंट्रोल के कस्टमाइज़ेशन करने से, हो सकता है कि आपका कस्टमाइज़ किया गया वर्शन, Google Ads के साथ काम न करे. असंगतता से बचने के लिए Android ओपन सोर्स प्रोजेक्ट (एओएसपी) Android के साथ काम करने से जुड़ा प्रोग्राम बनाता है, जो बताता है कि Android के साथ काम करने लायक होने का क्या मतलब है और इस स्थिति को हासिल करने के लिए डिवाइस बिल्डर की क्या ज़रूरत है. Android के सोर्स कोड का इस्तेमाल, कोई भी व्यक्ति किसी भी काम के लिए कर सकता है. Google, इसके सभी सही इस्तेमाल का स्वागत करता है. हालांकि, OHA के सदस्यों के बनाए गए ऐप्लिकेशन के शेयर किए गए नेटवर्क में हिस्सा लेने के लिए, डिवाइस बनाने वाली कंपनियों को Android Compatibility Program में शामिल होना होगा.
AOSP को Google मैनेज करता है. साथ ही, Android को डेवलप और मैनेज भी करता है. Android में कई सब-प्रोजेक्ट होते हैं, लेकिन AOSP सिर्फ़ प्रोजेक्ट मैनेजमेंट है. Google, Android को एक पूरे सॉफ़्टवेयर प्रॉडक्ट के तौर पर देखता और मैनेज करता है, न कि डिस्ट्रिब्यूशन, स्पेसिफ़िकेशन या बदले जा सकने वाले हिस्सों के कलेक्शन के तौर पर. Google का मकसद यह है कि डिवाइस बनाने वाली कंपनियां, Android को किसी डिवाइस पर पोर्ट करें. वे किसी स्पेसिफ़िकेशन को लागू नहीं करतीं या डिस्ट्रिब्यूशन को क्यूरेट नहीं करतीं.
आगे क्या करना है?
अगर आपने पहले एओएसपी का इस्तेमाल नहीं किया है और आपको एओएसपी डेवलपमेंट से जुड़ा ट्यूटोरियल देखना है, तो एओएसपी ट्यूटोरियल देखें.
अगर आपको लगता है कि आपके डिवाइस पर Android काम करता है, तो Android के साथ काम करने वाला प्रोग्राम देखें.
अगर आपको AOSP के बारे में जानना है, तो AOSP के बारे में अक्सर पूछे जाने वाले सवाल देखें. इसमें, इस प्लैटफ़ॉर्म में Google की भूमिका के बारे में भी जानकारी दी गई है.