एओएसपी डेवलपमेंट के लिए सेट अप (2.3 - 8.0)

इस पेज पर, 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)

जेडीके

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 वर्शन इंस्टॉल कर सकते हैं:

  1. /opt/local/etc/macports/sources.conf में बदलाव करें और rsync लाइन के ऊपर file:///Users/Shared/dports जोड़ें.

  2. dports डायरेक्ट्री बनाएं:

    mkdir /Users/Shared/dports
    
  3. नई dports डायरेक्ट्री में, यह कमांड चलाएं:

    svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
    
  4. अपनी नई लोकल रिपॉज़िटरी के लिए पोर्ट इंडेक्स बनाएं:

    portindex /Users/Shared/dports
    
  5. gmake का पुराना वर्शन इंस्टॉल करें:

    sudo port install gmake @3.81
    

जेडीके

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 पर काम नहीं करते.

  1. 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
  2. इसके अलावा, पहले चरण में हर पैकेज के साथ दी गई SHA256 स्ट्रिंग के हिसाब से, डाउनलोड की गई फ़ाइलों के चेकसम की पुष्टि करें. उदाहरण के लिए, sha256sum टूल की मदद से:

    sha256sum {downloaded.deb file}
    
  3. पैकेज इंस्टॉल करें:

    sudo apt-get update
    
  4. डाउनलोड की गई हर .deb फ़ाइल के लिए dpkg चलाएं. डिपेंडेंसी मौजूद न होने की वजह से, गड़बड़ियां हो सकती हैं:

    sudo dpkg -i {downloaded.deb file}
    
  5. डिपेंडेंसी मौजूद न होने की समस्या को ठीक करने के लिए:

    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