Android सोर्स की main
शाखा को डाउनलोड और बिल्ड करने से पहले, पक्का करें कि आपका हार्डवेयर ज़रूरी शर्तों को पूरा करता हो और ज़रूरी सॉफ़्टवेयर सही तरीके से इंस्टॉल हो. आपको इन शब्दों के बारे में भी जानकारी होनी चाहिए:
- Git
- Git, मुफ़्त और ओपन सोर्स डिस्ट्रिब्यूटेड वर्शन कंट्रोल सिस्टम है. Android, लोकल ऑपरेशन के लिए Git का इस्तेमाल करता है. जैसे, ब्रैंचिंग, कमिट, बदलाव, और बदलावों की जानकारी. Git सीखने में मदद पाने के लिए, Git दस्तावेज़ देखें.
- रिपॉज़िटरी
- Repo, Git के लिए Python का एक रैपर है. इसकी मदद से, कई Git रिपॉज़िटरी में मुश्किल कार्रवाइयां आसानी से की जा सकती हैं. Repo, वर्शन कंट्रोल के सभी ऑपरेशन के लिए Git की जगह नहीं लेता. यह सिर्फ़ Git के मुश्किल ऑपरेशन को आसान बनाता है. Repo, मेनिफ़ेस्ट फ़ाइलों का इस्तेमाल करके, Git प्रोजेक्ट को Android सुपर प्रोजेक्ट में इकट्ठा करता है.
- मेनिफ़ेस्ट फ़ाइल
- मेनिफ़ेस्ट फ़ाइल एक एक्सएमएल फ़ाइल होती है. इसमें यह जानकारी होती है कि Android सोर्स में मौजूद अलग-अलग Git प्रोजेक्ट, AOSP सोर्स ट्री में कहां रखे गए हैं.
हार्डवेयर की ज़रूरी शर्तें पूरी करना
आपके डेवलपमेंट वर्कस्टेशन में, हार्डवेयर से जुड़ी ये ज़रूरी शर्तें पूरी होनी चाहिए या इनसे बेहतर होनी चाहिए:
64-बिट x86 सिस्टम.
कोड को चेक आउट और बिल्ड करने के लिए, डिस्क में कम से कम 400 जीबी खाली जगह होनी चाहिए (चेक आउट करने के लिए 250 जीबी और बिल्ड करने के लिए 150 जीबी).
कम से कम 64 जीबी रैम. Google, Android बनाने के लिए 64 जीबी रैम वाली 72-कोर मशीनों का इस्तेमाल करता है. इस हार्डवेयर कॉन्फ़िगरेशन के साथ, Android का पूरा बिल्ड बनाने में करीब 40 मिनट लगते हैं. वहीं, Android का इंक्रीमेंटल बिल्ड बनाने में सिर्फ़ कुछ मिनट लगते हैं. इसके उलट, 64 जीबी रैम वाली 6-कोर मशीन पर, पूरे ऐप्लिकेशन को बिल्ड होने में करीब छह घंटे लगते हैं.
ऑपरेटिंग सिस्टम की ज़रूरी शर्तें पूरी करना
आपके डेवलपमेंट वर्कस्टेशन में, GNU C Library (glibc) 2.17 या इसके बाद का वर्शन वाला कोई 64-बिट Linux डिस्ट्रिब्यूशन होना चाहिए.
ज़रूरी पैकेज इंस्टॉल करना
Android 11 या इसके बाद के वर्शन को बनाने के लिए, आपको Ubuntu 18.04 या इसके बाद के वर्शन का इस्तेमाल करना होगा. Ubuntu 18.04 या उसके बाद के वर्शन के लिए ज़रूरी पैकेज इंस्टॉल करने के लिए, यह कमांड चलाएं:
sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig
इंस्टॉल किए गए पैकेज में, यह कमांड Git इंस्टॉल करता है. इसका इस्तेमाल, AOSP सोर्स को डाउनलोड करने के लिए किया जाता है.
ज़रूरी सॉफ़्टवेयर इंस्टॉल करना
AOSP के साथ काम करने से पहले, आपके पास OpenJDK, Make, Python 3, और Repo इंस्टॉल होने चाहिए. Android की AOSP मुख्य शाखा में, पहले से बने OpenJDK, Make, और Python 3 वर्शन मौजूद होते हैं. इसलिए, इंस्टॉल करने के लिए अतिरिक्त चरणों की ज़रूरत नहीं होती. इस सेक्शन में, Repo इंस्टॉल करने का तरीका बताया गया है.
Repo इंस्टॉल करना
Repo इंस्टॉल करने के लिए, यह तरीका अपनाएं:
पैकेज की मौजूदा जानकारी डाउनलोड करें:
sudo apt-get update
Repo लॉन्चर इंस्टॉल करने के लिए, यह कमांड चलाएं:
sudo apt-get install repo
Repo लॉन्चर, एक Python स्क्रिप्ट उपलब्ध कराता है. यह स्क्रिप्ट, चेकआउट की प्रोसेस शुरू करती है और Repo टूल को पूरी तरह से डाउनलोड करती है.
अगर ऐसा हो जाता है, तो सीधे चौथे चरण पर जाएं.
(ज़रूरी नहीं) नीचे दिए गए निर्देशों का इस्तेमाल करके, Repo को मैन्युअल तरीके से इंस्टॉल करें:
export REPO=$(mktemp /tmp/repo.XXXXXXXXX) curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo gpg --recv-keys 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65 curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo
पहले तीन निर्देश, एक अस्थायी फ़ाइल सेट अप करते हैं, फ़ाइल में Repo डाउनलोड करते हैं, और पुष्टि करते हैं कि दी गई कुंजी, ज़रूरी कुंजी से मेल खाती है या नहीं. अगर ये निर्देश काम करते हैं, तो आखिरी निर्देश Repo लॉन्चर इंस्टॉल करता है.
Repo लॉन्चर के वर्शन की पुष्टि करें:
repo version
आउटपुट में 2.4 या उसके बाद का वर्शन दिखना चाहिए. उदाहरण के लिए:
repo launcher version 2.45
कोई दूसरी आउटपुट डायरेक्ट्री सेट करना
डिफ़ॉल्ट रूप से, हर बिल्ड का आउटपुट, मैच करने वाले सोर्स ट्री की out/
सबडायरेक्ट्री में सेव किया जाता है. OUT_DIR
एनवायरमेंट वैरिएबल को एक्सपोर्ट करके, इस डायरेक्ट्री को बदला जा सकता है. उदाहरण के लिए, अगर आपको अपना आउटपुट किसी दूसरी ड्राइव पर सेव करना है, तो OUT_DIR
को उस ड्राइव पर ले जाएं:
export OUT_DIR=my_other_drive
आगे क्या करना है?
- सोर्स कोड डाउनलोड करने के लिए, Android सोर्स डाउनलोड करें पर जाएं.
- Git के बारे में जानने के लिए, Git का दस्तावेज़ देखें.
- Repo से जुड़ा ज़्यादा दस्तावेज़ देखने के लिए, Repo का README देखें.
- Repo के सभी निर्देशों की सूची के लिए, Repo के निर्देशों का रेफ़रंस लेख पढ़ें.