AOSP डेवलपमेंट (2.3 - 8.0) के लिए सेट अप करना

इस पेज पर, 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 भी बनाया जा सकता है.

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: Xcode 4.5.2 और कमांड लाइन टूल के साथ Mac OS X v10.8 (Mountain Lion)

JDK

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 बिल्ड की परफ़ॉर्मेंस खराब हो जाती है.

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 आईडी बनाना होगा.

अगर 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
    

JDK

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