सोर्स कंट्रोल टूल

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 की मदद से, कुछ भी डाउनलोड किए बिना AOSP को खोजा जा सकता है. AOSP का सोर्स कोड देखने, ओपन सोर्स ब्रांच के बीच स्विच करने, और क्रॉस-रेफ़रंस पर जाने के लिए, Code Search का इस्तेमाल किया जा सकता है. ज़्यादा जानकारी के लिए, कोड खोजने से जुड़े दस्तावेज़ के लिए Google Developers साइट देखें.

अन्य टूल

Android Studio, Android ऐप्लिकेशन डेवलपमेंट के लिए आधिकारिक इंटिग्रेटेड डेवलपमेंट एनवायरमेंट (आईडीई) है.

Android डीबग ब्रिज (ADB) की मदद से, अपने डेवलपमेंट वर्कस्टेशन को सीधे तौर पर Android डिवाइस से कनेक्ट किया जा सकता है. इससे पैकेज इंस्टॉल किए जा सकते हैं और बदलावों का आकलन किया जा सकता है.

AOSP डेवलपमेंट के लिए, Android Studio for Platform (ASfP) का इस्तेमाल करें.