Android कोड के साथ काम करने के लिए, Git (ओपन-सोर्स वाला वर्शन कंट्रोल सिस्टम) और Repo, दोनों का इस्तेमाल करना ज़रूरी है. Repo, Google का बनाया गया एक रिपॉज़िटरी मैनेजमेंट टूल है, जो Git के साथ काम करता है. सोर्स कंट्रोल वर्कफ़्लो पेज पर जाकर, उन सामान्य कार्रवाइयों की खास जानकारी देखें जिन्हें किया जा सकता है. जैसे, समीक्षा के लिए बदलाव अपलोड करना.
Git
Git, एक से ज़्यादा रिपॉज़िटरी में मौजूद बड़े प्रोजेक्ट को मैनेज करता है. Android, लोकल ब्रैंचिंग, कमिट, बदलाव, और बदलावों की जानकारी जैसे लोकल ऑपरेशन के लिए Git का इस्तेमाल करता है. Android प्रोजेक्ट को सेट अप करने में एक चुनौती यह थी कि बाहरी कम्यूनिटी को सबसे अच्छी तरह से कैसे मदद की जाए. इसमें, हॉबी वाले लोगों की कम्यूनिटी से लेकर, बड़े OEM तक शामिल हैं, जो बड़े पैमाने पर उपभोक्ता डिवाइस बनाते हैं. Google चाहता था कि कॉम्पोनेंट बदले जा सकें. साथ ही, वह चाहता था कि दिलचस्प कॉम्पोनेंट, Android के बाहर भी काम कर सकें. Google ने सबसे पहले डिस्ट्रिब्यूट किया गया रिविज़न कंट्रोल सिस्टम चुना. इसके बाद, इसे Git पर फ़ोकस किया.
Git के बारे में ज़्यादा जानकारी के लिए, Git दस्तावेज़ देखें.
Repo
Repo, ज़रूरत पड़ने पर Git रिपॉज़िटरी को एक साथ जोड़ता है. साथ ही, Gerrit रिविज़न कंट्रोल सिस्टम पर अपलोड करता है और Android डेवलपमेंट वर्कफ़्लो के कुछ हिस्सों को ऑटोमेट करता है.
Repo Launcher, एक Python स्क्रिप्ट उपलब्ध कराता है. यह स्क्रिप्ट, चेकआउट की प्रोसेस शुरू करती है और Repo टूल का दूसरा हिस्सा डाउनलोड करती है. Android सोर्स कोड चेकआउट में, पूरा Repo टूल शामिल होता है. यह डिफ़ॉल्ट रूप से $SRCDIR/.repo/repo/...
में मौजूद होता है. साथ ही, इसे डाउनलोड किए गए Repo Launcher से निर्देश मिलते हैं.
Repo, Git की जगह नहीं लेता. यह सिर्फ़ Android के संदर्भ में, Git के साथ काम करना आसान बनाता है. Git प्रोजेक्ट को Android सुपर प्रोजेक्ट में इकट्ठा करने के लिए, Repo मेनिफ़ेस्ट फ़ाइलों का इस्तेमाल करता है. repo
कमांड, एक ऐसी Python स्क्रिप्ट है जिसे चलाया जा सकता है. इसे अपने पाथ में कहीं भी डाला जा सकता है. Android सोर्स फ़ाइलों के साथ काम करते समय, Repo का इस्तेमाल पूरे नेटवर्क पर किए जाने वाले ऑपरेशन के लिए किया जा सकता है. जैसे, एक ही Repo वर्किंग डायरेक्ट्री के साथ.
ज़्यादातर मामलों में, Repo के बजाय Git का इस्तेमाल किया जा सकता है. इसके अलावा, जटिल कमांड बनाने के लिए, Repo और Git के कमांड को एक साथ भी इस्तेमाल किया जा सकता है. हालांकि, नेटवर्क पर सभी कामों के लिए Repo का इस्तेमाल करने से, आपका काम काफ़ी आसान हो जाता है. Repo के बारे में ज़्यादा जानकारी के लिए, Repo कमांड रेफ़रंस, Repo README, रिलीज़ से पहले अपलोड करने के लिए हुक (टेस्ट) देखें. ये हुक, Repo में चालू किए जा सकते हैं. साथ ही, AOSP में सामान्य दस्तावेज़ देखें.
git-repo- downloads से Repo Launcher डाउनलोड और इंस्टॉल करने के लिए, Repo इंस्टॉल करना लेख पढ़ें.
Gerrit
Gerrit, Git का इस्तेमाल करने वाले प्रोजेक्ट के लिए, वेब पर काम करने वाला कोड की समीक्षा करने वाला सिस्टम है. Gerrit, Git के ज़्यादा से ज़्यादा इस्तेमाल को बढ़ावा देता है. इसके लिए, वह अनुमति वाले सभी उपयोगकर्ताओं को बदलाव सबमिट करने की अनुमति देता है. अगर कोड की समीक्षा में ये बदलाव पास हो जाते हैं, तो ये अपने-आप मर्ज हो जाते हैं. इसके अलावा, Gerrit की मदद से बदलावों की समीक्षा करना आसान हो जाता है. यह ब्राउज़र में बदलावों को एक साथ दिखाता है और इनलाइन टिप्पणियों की सुविधा चालू करता है.
Android Gerrit की समीक्षा करने वाला इंटरफ़ेस android-review.googlesource.com पर और कोड नेविगेशन इंटरफ़ेस android.googlesource.com पर ढूंढें.
Android Code Search
Android कोड सर्च की मदद से, कुछ भी डाउनलोड किए बिना AOSP को खोजा जा सकता है. AOSP का सोर्स कोड देखने, ओपन सोर्स की शाखाओं के बीच स्विच करने, और क्रॉस-रेफ़रंस पर जाने के लिए, कोड खोजने की सुविधा का इस्तेमाल किया जा सकता है. ज़्यादा जानकारी के लिए, कोड खोज के दस्तावेज़ के लिए Google Developers साइट पर जाएं.
अन्य टूल
Android Studio, Android ऐप्लिकेशन डेवलपमेंट के लिए आधिकारिक इंटिग्रेटेड डेवलपमेंट एनवायरमेंट (आईडीई) है.
Android डीबग ब्रिज (ADB) की मदद से, अपने डेवलपमेंट वर्कस्टेशन को सीधे अपने Android डिवाइस से कनेक्ट किया जा सकता है. इससे, पैकेज इंस्टॉल किए जा सकते हैं और किए गए बदलावों का आकलन किया जा सकता है.
AOSP डेवलपमेंट के लिए, Android Studio for Platform (ASfP) का इस्तेमाल करें.