इस पेज पर, Android 8.0 या इससे पहले के वर्शन के साथ डेवलपमेंट के लिए सेट अप करने का तरीका बताया गया है. Android 9.0 और इसके बाद के वर्शन को बनाने का तरीका जानने के लिए, AOSP डेवलपमेंट के लिए सेट अप करना लेख पढ़ें.
एओएसपी डेवलपमेंट के लिए सेट अप (5.0 - 8.0)
Android 5.0 से 8.0 के लिए, सभी ज़रूरी पैकेज को आसानी से इंस्टॉल करने के लिए, शामिल किए गए Dockerfile का इस्तेमाल करें.
ऑपरेटिंग सिस्टम
आम तौर पर, Android को GNU Linux के साथ बनाया जाता है. Mac OS X जैसे सिस्टम पर, वर्चुअल मशीन में Android भी बनाया जा सकता है.
Google का सुझाव है कि आप GNU Linux पर बनाएं. Android बिल्ड सिस्टम आम तौर पर सिस्टम की DEX फ़ाइलों को पहले से कंपाइल करने के लिए बिल्ड मशीन पर ART चलाता है. ART सिर्फ़ Linux पर चल सकता है. इसलिए, बिल्ड सिस्टम, Linux के अलावा अन्य ऑपरेटिंग सिस्टम पर, पहले से कंपाइल करने के इस चरण को छोड़ देता है. इस वजह से, Android बिल्ड की परफ़ॉर्मेंस खराब हो जाती है.
जीएनयू लिनक्स
- 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: Xcode 4.5.2 और कमांड लाइन टूल के साथ Mac OS X v10.8 (Mountain Lion)
जेडीके
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 के साथ बनाया जाता है. Android को वर्चुअल मशीन में भी बनाया जा सकता है. हालांकि, यह सुविधा Windows जैसे सिस्टम पर काम नहीं करती.
Google का सुझाव है कि आप GNU Linux पर बनाएं. Android बिल्ड सिस्टम आम तौर पर सिस्टम की DEX फ़ाइलों को पहले से कंपाइल करने के लिए बिल्ड मशीन पर ART चलाता है. ART सिर्फ़ Linux पर चल सकता है. इसलिए, बिल्ड सिस्टम, Linux के अलावा अन्य ऑपरेटिंग सिस्टम पर, पहले से कंपाइल करने के इस चरण को छोड़ देता है. इस वजह से, Android बिल्ड की परफ़ॉर्मेंस खराब हो जाती है.
जीएनयू लिनक्स
- 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 निर्माता
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 वर्शन इंस्टॉल कर सकते हैं:
/opt/local/etc/macports/sources.conf
में बदलाव करें औरrsync
लाइन के ऊपर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/dports
gmake का पुराना वर्शन इंस्टॉल करें:
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 के लिए JDK
Android Open Source Project (AOSP) में, prebuilts/jdk/
में पहले से बने OpenJDK वर्शन शामिल होते हैं. इसलिए, इसे अलग से इंस्टॉल करने की ज़रूरत नहीं होती.
Android के पुराने वर्शन के लिए, JDK को अलग से इंस्टॉल करना ज़रूरी है. 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.deb
SHA256 के साथ0f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
openjdk-8-jre_8u45-b14-1_amd64.deb
SHA256 के साथ9ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
openjdk-8-jdk_8u45-b14-1_amd64.deb
SHA256 के साथ6e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
इसके अलावा, पहले चरण में हर पैकेज के साथ दी गई 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