Android कोड के साथ काम करने के लिए, Git (ओपन-सोर्स वर्शन-कंट्रोल सिस्टम) और Repo (Google का बनाया गया रिपॉज़िटरी-मैनेजमेंट टूल, जो Git पर काम करता है), दोनों का इस्तेमाल करना ज़रूरी है. सोर्स कंट्रोल वर्कफ़्लो में, उन सामान्य कार्रवाइयों के बारे में खास जानकारी दी गई है जो की जा सकती हैं. जैसे, समीक्षा के लिए बदलाव अपलोड करना.
Git
Git, कई रिपॉज़िटरी में डिस्ट्रिब्यूट किए गए बड़े प्रोजेक्ट को मैनेज करता है. Android, Git का इस्तेमाल लोकल ऑपरेशन के लिए करता है. जैसे, लोकल ब्रांचिंग, कमिट, अंतर, और बदलाव. Android प्रोजेक्ट को सेट अप करने में एक चुनौती यह थी कि बाहरी कम्यूनिटी को सबसे अच्छी तरह से कैसे सपोर्ट किया जाए. इसमें, शौक़ीन लोगों की कम्यूनिटी से लेकर, बड़े ओईएम तक शामिल थे. ये ओईएम, आम लोगों के लिए डिवाइस बनाते हैं. हम चाहते थे कि कॉम्पोनेंट को बदला जा सके. साथ ही, हम चाहते थे कि दिलचस्प कॉम्पोनेंट, Android के बाहर भी काम करें. हमने सबसे पहले, डिस्ट्रिब्यूटेड वर्शन कंट्रोल सिस्टम चुना. इसके बाद, हमने Git को चुना.
Git के बारे में ज़्यादा जानने के लिए, यह Git दस्तावेज़ पढ़ें.
Repo
Repo ज़रूरत पड़ने पर Git रिपॉज़िटरी को एक साथ जोड़ता है. साथ ही, Gerrit revision control system में अपलोड करता है. इसके अलावा, यह Android डेवलपमेंट वर्कफ़्लो के कुछ हिस्सों को अपने-आप पूरा करता है.
Repo Launcher, एक Python स्क्रिप्ट उपलब्ध कराता है. यह स्क्रिप्ट, चेकआउट शुरू करती है और दूसरे हिस्से यानी पूरे Repo टूल को डाउनलोड करती है. Repo टूल का पूरा वर्शन, Android के सोर्स कोड चेकआउट में शामिल होता है. यह डिफ़ॉल्ट रूप से $SRCDIR/.repo/repo/...
में मौजूद होता है. साथ ही, इसे डाउनलोड किए गए Repo Launcher से फ़ॉरवर्ड की गई कमांड मिलती हैं.
Repo, Git की जगह नहीं लेता. यह सिर्फ़ Android के संदर्भ में Git के साथ काम करना आसान बनाता है. Repo, मेनिफ़ेस्ट फ़ाइलों का इस्तेमाल करके, Git प्रोजेक्ट को Android सुपरप्रोजेक्ट में इकट्ठा करता है. 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 Code Search की मदद से, बिना कुछ डाउनलोड किए AOSP को खोजा जा सकता है. AOSP का सोर्स कोड देखने, ओपन सोर्स ब्रांच के बीच स्विच करने, और क्रॉस-रेफ़रंस पर जाने के लिए, Code Search का इस्तेमाल किया जा सकता है. ज़्यादा जानकारी के लिए, कोड सर्च के दस्तावेज़ के लिए Google Developers साइट देखें.
अन्य टूल
Android Studio, Android ऐप्लिकेशन डेवलपमेंट के लिए आधिकारिक इंटिग्रेटेड डेवलपमेंट एनवायरमेंट (आईडीई) है.
Android डीबग ब्रिज (adb) की मदद से, अपने डेवलपमेंट वर्कस्टेशन को सीधे तौर पर Android डिवाइस से कनेक्ट किया जा सकता है. इससे, पैकेज इंस्टॉल किए जा सकते हैं और बदलावों का आकलन किया जा सकता है.
AOSP डेवलपमेंट के लिए, Android Studio for Platform (ASfP) का इस्तेमाल करें.