इस पेज पर, Android 8.0 या इससे पहले के वर्शन के साथ डेवलपमेंट के लिए सेट अप करने का तरीका बताया गया है. Android 9.0 और इसके बाद के वर्शन के लिए सेट अप करने का तरीका जानने के लिए, AOSP डेवलपमेंट के लिए सेट अप करना लेख पढ़ें.
AOSP डेवलपमेंट के लिए सेट अप करना (5.0 - 8.0)
Android 5.0 से 8.0 के लिए, ज़रूरी सभी पैकेज इंस्टॉल करने के लिए, शामिल किए गए Dockerfile का इस्तेमाल करें.
ऑपरेटिंग सिस्टम
आम तौर पर, Android को GNU Linux के साथ बिल्ड किया जाता है. Mac OS X जैसे ऐसे सिस्टम पर वर्चुअल मशीन में भी Android को बिल्ड किया जा सकता है जो Android के साथ काम नहीं करते.
Google, GNU Linux पर बिल्ड करने का सुझाव देता है. Android का बिल्ड सिस्टम, सिस्टम DEX फ़ाइलों को पहले से कंपाइल करने के लिए, आम तौर पर बिल्ड मशीन पर ART चलाता है. ART सिर्फ़ Linux पर चल सकता है. इसलिए, बिल्ड सिस्टम, Linux के अलावा दूसरे ऑपरेटिंग सिस्टम पर पहले से कंपाइल करने का यह चरण छोड़ देता है. इससे Android की परफ़ॉर्मेंस कम हो जाती है.
GNU Linux
- Android 6.0 - Android 8.0: Ubuntu 14.04 (Trusty)
- Android 5.x: Ubuntu 12.0
Mac OS X (Intel/x86)
- Android 6.0 - AOSP 8.0: Mac OS X v10.10 (Yosemite) या इसके बाद का वर्शन. साथ ही, Xcode 4.5.2 और Command Line Tools
- Android 5.x: Mac OS X v10.8 (Mountain Lion) के साथ Xcode 4.5.2 और Command Line Tools
जेडीके
Android 7.0 - Android 8.0:
- Ubuntu: OpenJDK 8
- Mac OS X: JDK 8u45 या इसके बाद का वर्शन
Android 5.x (Lollipop) - Android 6.0 (Marshmallow):
- Ubuntu: OpenJDK 7
- Mac OS X: jdk-7u71-macosx-x64.dmg
AOSP डेवलपमेंट के लिए सेट अप करना (2.3 - 4.4)
इस सेक्शन में, Android 2.3 से Android 4.4 तक के वर्शन के लिए सेट अप करने का तरीका बताया गया है.
ऑपरेटिंग सिस्टम
आम तौर पर, Android को GNU Linux के साथ बिल्ड किया जाता है. Windows जैसे ऐसे सिस्टम पर वर्चुअल मशीन में भी Android को बिल्ड किया जा सकता है जो Android के साथ काम नहीं करते.
Google, GNU Linux पर बिल्ड करने का सुझाव देता है. Android का बिल्ड सिस्टम, सिस्टम DEX फ़ाइलों को पहले से कंपाइल करने के लिए, आम तौर पर बिल्ड मशीन पर ART चलाता है. ART सिर्फ़ Linux पर चल सकता है. इसलिए, बिल्ड सिस्टम, Linux के अलावा दूसरे ऑपरेटिंग सिस्टम पर पहले से कंपाइल करने का यह चरण छोड़ देता है. इससे Android की परफ़ॉर्मेंस कम हो जाती है.
GNU Linux
- Android 2.3.x - Android 4.4: Ubuntu 12.04 (Precise)
Mac OS X (Intel/x86)
- Android 4.1.x - Android 4.4.x: Mac OS X v10.6 (Snow Leopard) या Mac OS X v10.7 (Lion) और Xcode 4.2 (Apple Developer Tools)
- Android 2.3 - Android 4.0.x: Mac OS X v10.5 (Leopard) या Mac OS X v10.6 (Snow Leopard) और Mac OS X v10.5 SDK
GNU make
Android 4.1.x से 4.4 के लिए, GNU make (gmake) 3.82 का इस्तेमाल करें. Android 2.3 से 4.0.x के लिए, बिल्ड से जुड़ी गड़बड़ियों से बचने के लिए, gmake 3.82 से पुराने वर्शन पर वापस जाएं
Xcode और अन्य पैकेज
Mac OS X v10.8 या इससे पहले के वर्शन के लिए, Apple की डेवलपर साइट से Xcode इंस्टॉल करें. अगर आपने Apple डेवलपर के तौर पर रजिस्टर नहीं किया है, तो डाउनलोड करने के लिए आपको Apple ID बनाना होगा.
अगर Mac OS X v10.4 का इस्तेमाल किया जा रहा है, तो Bison भी इंस्टॉल करें:
POSIXLY_CORRECT=1 sudo port install bison
MacPorts के लिए, यह कमांड दें:
POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg
Homebrew के लिए, यह कमांड दें:
brew install gmake libsdl git gnupg2
gmake 3.82 से पुराने वर्शन पर वापस जाना
Android 4.0.x और इससे पहले के वर्शन में, gmake 3.82 में एक गड़बड़ी है. इसकी वजह से, Android को बिल्ड नहीं किया जा सकता. MacPorts का इस्तेमाल करके, वर्शन 3.81 इंस्टॉल करने के लिए, यह तरीका अपनाएं:
rsyncलाइन के ऊपर,/opt/local/etc/macports/sources.confमें बदलाव करें औरfile:///Users/Shared/dportsजोड़ें.dportsडायरेक्ट्री बनाएं:mkdir /Users/Shared/dportsनई
dportsडायरेक्ट्री में, यह कमांड चलाएं:svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/अपनी नई लोकल रिपॉज़िटरी के लिए, पोर्ट इंडेक्स बनाएं:
portindex /Users/Shared/dportsgmake का पुराना वर्शन इंस्टॉल करें:
sudo port install gmake @3.81
जेडीके
- Android 2.3.x - Android 4.4.x:
- Ubuntu: Java JDK 6
- Mac OS X: Java JDK 6
Linux के लिए जेडीके
Android के पुराने वर्शन के लिए, जेडीके को अलग से इंस्टॉल करना ज़रूरी है. Ubuntu पर, OpenJDKका इस्तेमाल करें
Ubuntu 15.04 और इसके बाद के वर्शन के लिए
यह कमांड चलाएं:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
Ubuntu LTS 14.04 के लिए
Ubuntu 14.04 के लिए, OpenJDK 8 के साथ काम करने वाले पैकेज उपलब्ध नहीं हैं. Ubuntu 15.04 के OpenJDK 8 पैकेज, Ubuntu 14.04 के साथ सफलतापूर्वक इस्तेमाल किए गए हैं. पैकेज के नए वर्शन (उदाहरण के लिए, 15.10, 16.04 के लिए) 14.04 पर काम नहीं करते. इसके लिए, यहां दिया गया तरीका अपनाएं.
old-releases.ubuntu.com से, 64-बिट आर्किटेक्चर के लिए
.debपैकेज डाउनलोड करेंopenjdk-8-jre-headless_8u45-b14-1_amd64.debSHA2560f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0के साथopenjdk-8-jre_8u45-b14-1_amd64.debSHA2569ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849के साथopenjdk-8-jdk_8u45-b14-1_amd64.debSHA2566e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4cके साथ
ज़रूरी नहीं: डाउनलोड की गई फ़ाइलों के चेकसम की पुष्टि करने के लिए, पहले चरण में हर पैकेज के साथ दी गई SHA256 स्ट्रिंग का इस्तेमाल करें. उदाहरण के लिए,
sha256sumटूल के साथ:sha256sum {downloaded.deb file}पैकेज इंस्टॉल करें:
sudo apt-get updateडाउनलोड की गई हर
.debफ़ाइल के लिए,dpkgचलाएं. ज़रूरी सॉफ़्टवेयर मौजूद न होने की वजह से, गड़बड़ियां हो सकती हैं:sudo dpkg -i {downloaded.deb file}ज़रूरी सॉफ़्टवेयर मौजूद न होने की समस्या ठीक करने के लिए:
sudo apt-get -f install
(ज़रूरी नहीं) Java के डिफ़ॉल्ट वर्शन को अपडेट करना
ज़रूरी नहीं: पहले बताए गए Ubuntu वर्शन के लिए, Java के डिफ़ॉल्ट वर्शन को अपडेट करने के लिए, यह कमांड चलाएं:
sudo update-alternatives --config java
sudo update-alternatives --config javac
Ubuntu 14.04 के लिए ज़रूरी पैकेज इंस्टॉल करना
Ubuntu 14.04 के लिए ज़रूरी पैकेज इंस्टॉल करने के लिए, ये कमांड चलाएं:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip$
Ubuntu 12.04 के लिए ज़रूरी पैकेज इंस्टॉल करना
Ubuntu 12.04 के लिए ज़रूरी पैकेज इंस्टॉल करने के लिए, ये कमांड चलाएं:
$ sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so