ตั้งค่าสำหรับการพัฒนา 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 คุณสามารถสร้าง Android ในเครื่องเสมือนบนระบบที่ไม่รองรับ เช่น Mac OS X ได้ด้วย

Google แนะนำให้สร้างบน GNU Linux โดยปกติระบบบิลด์ Android จะรัน ART บนเครื่องบิลด์เพื่อคอมไพล์ไฟล์ DEX ของระบบล่วงหน้า ART สามารถทำงานได้บน Linux เท่านั้น ดังนั้นระบบบิลด์จึงข้ามขั้นตอนการคอมไพล์ล่วงหน้านี้บนระบบปฏิบัติการที่ไม่ใช่ Linux ส่งผลให้บิลด์ Android มีประสิทธิภาพลดลง

กนู ลินุกซ์

  • Android 6.0 - Android 8.0: Ubuntu 14.04 (เชื่อถือได้)
  • Android 5.x: อูบุนตู 12.0

Mac OS X (อินเทล/x86)

  • Android 6.0 - AOSP 8.0: Mac OS X v10.10 (Yosemite) หรือใหม่กว่าพร้อม Xcode 4.5.2 และเครื่องมือบรรทัดคำสั่ง
  • Android 5.x: Mac OS X v10.8 (Mountain Lion) พร้อม Xcode 4.5.2 และเครื่องมือบรรทัดคำสั่ง

เจดีเค

ตั้งค่าสำหรับการพัฒนา AOSP (2.3 - 4.4)

ส่วนนี้ให้คำแนะนำบางประการเกี่ยวกับวิธีตั้งค่า Android 2.3 ถึง Android 4.4

ระบบปฏิบัติการ

โดยทั่วไปแล้ว Android จะถูกสร้างขึ้นด้วย GNU Linux คุณสามารถสร้าง Android ในเครื่องเสมือนบนระบบที่ไม่รองรับ เช่น Windows ได้ด้วย

Google แนะนำให้สร้างบน GNU Linux โดยปกติระบบบิลด์ Android จะรัน ART บนเครื่องบิลด์เพื่อคอมไพล์ไฟล์ DEX ของระบบล่วงหน้า ART สามารถทำงานได้บน Linux เท่านั้น ดังนั้นระบบบิลด์จึงข้ามขั้นตอนการคอมไพล์ล่วงหน้านี้บนระบบปฏิบัติการที่ไม่ใช่ Linux ส่งผลให้บิลด์ Android มีประสิทธิภาพลดลง

กนู ลินุกซ์

  • Android 2.3.x - Android 4.4: Ubuntu 12.04 (แม่นยำ)

Mac OS X (อินเทล/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)
  • 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

กนูทำ

สำหรับ 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 หรือต่ำกว่า ให้ติดตั้ง Xcode จาก ไซต์ผู้พัฒนา Apple หากคุณยังไม่ได้ลงทะเบียนเป็นนักพัฒนา 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 ไม่สามารถสร้างได้ คุณสามารถติดตั้งเวอร์ชัน 3.81 ได้โดยใช้ MacPort ด้วยขั้นตอนเหล่านี้:

  1. แก้ไข /opt/local/etc/macports/sources.conf และเพิ่ม file:///Users/Shared/dports เหนือบรรทัด rsync

  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
    

เจดีเค

  • แอนดรอยด์ 2.3.x - แอนดรอยด์ 4.4.x:

JDK สำหรับลินุกซ์

Android Open Source Project (AOSP) มาพร้อมกับ OpenJDK เวอร์ชันที่สร้างไว้ล่วงหน้าภายใน prebuilts/jdk/ ดังนั้นจึงไม่จำเป็นต้องติดตั้งเพิ่มเติม

Android เวอร์ชันก่อนหน้าต้องมีการติดตั้ง JDK แยกต่างหาก บน Ubuntu ให้ใช้ OpenJDK

สำหรับ Ubuntu 15.04 และสูงกว่า

เรียกใช้สิ่งต่อไปนี้:

sudo apt-get update
sudo apt-get install openjdk-8-jdk

สำหรับอูบุนตู LTS 14.04

ไม่มีแพ็คเกจ OpenJDK 8 ที่รองรับสำหรับ Ubuntu 14.04 แพ็คเกจ Ubuntu 15.04 OpenJDK 8 ใช้กับ Ubuntu 14.04 ได้สำเร็จ เวอร์ชันแพ็คเกจที่สูงกว่า (เช่น เวอร์ชัน 15.10, 16.04) ใช้งานไม่ได้บน 14.04 โดยใช้คำแนะนำต่อไปนี้

  1. ดาวน์โหลดแพ็คเกจ .deb สำหรับสถาปัตยกรรม 64 บิตจาก old-releases.ubuntu.com

    • 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 ที่แสดงพร้อมกับแต่ละแพ็กเกจจากขั้นตอนที่ 1 ตัวอย่างเช่น ด้วยเครื่องมือ sha256sum :

    sha256sum {downloaded.deb file}
    
  3. ติดตั้งแพ็คเกจ:

    sudo apt-get update
    
  4. เรียกใช้ dpkg สำหรับแต่ละไฟล์ .deb ที่คุณดาวน์โหลด มันอาจทำให้เกิดข้อผิดพลาดเนื่องจากการพึ่งพาที่ขาดหายไป:

    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