ตั้งค่าสําหรับการพัฒนา AOSP (9.0 ขึ้นไป)

ก่อนที่จะดาวน์โหลดและสร้างบิลด์ของสาขา Android เวอร์ชันล่าสุด (android17-release) ของซอร์สโค้ด Android โปรดตรวจสอบว่าฮาร์ดแวร์เป็นไปตามข้อกำหนดที่จำเป็นและติดตั้งซอฟต์แวร์ที่จำเป็นอย่างถูกต้อง นอกจากนี้ คุณควรทำความคุ้นเคยกับคำศัพท์ต่อไปนี้

Git
Git เป็นระบบควบคุมเวอร์ชันแบบกระจายที่ใช้งานได้ฟรีและเป็นโอเพนซอร์ส Android ใช้ Git สำหรับการดำเนินการในเครื่อง เช่น การแยกสาขา การคอมมิต การเปรียบเทียบ และการแก้ไข หากต้องการความช่วยเหลือในการเรียนรู้ Git โปรดดูที่เอกสารประกอบของ Git
Repo
Repo เป็น Wrapper ของ Python สำหรับ Git ซึ่งช่วยลดความซับซ้อนในการดำเนินการที่ซับซ้อนในที่เก็บ Git หลายรายการ Repo ไม่ได้มาแทนที่ Git สำหรับการดำเนินการควบคุมเวอร์ชันทั้งหมด แต่จะช่วยให้การดำเนินการ Git ที่ซับซ้อนทำได้ง่ายขึ้น Repo ใช้ไฟล์ Manifest เพื่อรวมโปรเจ็กต์ Git ไว้ในโปรเจ็กต์หลักของ Android
ไฟล์ Manifest
ไฟล์ Manifest เป็นไฟล์ XML ที่ระบุตำแหน่งของโปรเจ็กต์ Git ต่างๆ ในซอร์สโค้ดของ Android ภายในโครงสร้างไดเรกทอรีของซอร์สโค้ด AOSP

ข้อกำหนดของฮาร์ดแวร์

เวิร์กสเตชันสำหรับการพัฒนาควรเป็นไปตามหรือสูงกว่าข้อกำหนดของฮาร์ดแวร์ต่อไปนี้

  • ระบบ x86 64 บิต

  • พื้นที่ว่างในดิสก์อย่างน้อย 400 GB สำหรับเช็กเอาต์และสร้างบิลด์ของโค้ด (250 GB สำหรับเช็กเอาต์ + 150 GB สำหรับสร้างบิลด์)

  • RAM อย่างน้อย 64 GB Google ใช้เครื่อง 72 คอร์ที่มี RAM 64 GB เพื่อสร้างบิลด์ของ Android การกำหนดค่าฮาร์ดแวร์นี้จะใช้เวลาประมาณ 40 นาทีในการสร้างบิลด์แบบเต็มของ Android และใช้เวลาเพียงไม่กี่นาทีในการสร้างบิลด์แบบเพิ่ม ในทางตรงกันข้าม การสร้างบิลด์แบบเต็มด้วยเครื่อง 6 คอร์ที่มี RAM 64 GB จะใช้เวลาประมาณ 6 ชั่วโมง

ข้อกำหนดของระบบปฏิบัติการ

เวิร์กสเตชันสำหรับการพัฒนาต้องใช้ Linux Distribution 64 บิตที่มี GNU C Library (glibc) 2.17 ขึ้นไป

ติดตั้งแพ็กเกจที่จำเป็น

หากต้องการสร้างบิลด์ของ Android 11 ขึ้นไป คุณต้องใช้ Ubuntu 18.04 ขึ้นไป หากต้องการติดตั้งแพ็กเกจที่จำเป็นสำหรับ Ubuntu 18.04 ขึ้นไป ให้เรียกใช้คำสั่งต่อไปนี้

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

คำสั่งนี้จะติดตั้ง Git ซึ่งใช้ในการดาวน์โหลดซอร์สโค้ด AOSP ในบรรดาแพ็กเกจที่ติดตั้ง

ติดตั้งซอฟต์แวร์ที่จำเป็น

คุณต้องติดตั้ง OpenJDK, Make, Python 3 และ Repo ก่อนจึงจะใช้งาน AOSP ได้ สาขา Android เวอร์ชันล่าสุดมาพร้อมกับ OpenJDK, Make และ Python 3 เวอร์ชันที่สร้างไว้ล่วงหน้า จึงไม่จำเป็นต้องมีขั้นตอนการติดตั้งเพิ่มเติม ส่วนต่อไปนี้จะอธิบายวิธีติดตั้ง Repo

ติดตั้ง Repo

ทำตามขั้นตอนต่อไปนี้เพื่อติดตั้ง Repo

  1. ดาวน์โหลดข้อมูลแพ็กเกจปัจจุบัน

    sudo apt-get update
  2. เรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้งตัวเรียกใช้ Repo

    sudo apt-get install repo

    ตัวเรียกใช้ Repo มีสคริปต์ Python ที่เริ่มต้นการเช็กเอาต์และดาวน์โหลดเครื่องมือ Repo แบบเต็ม

    หากสำเร็จ ให้ข้ามไปยังขั้นตอนที่ 4

  3. (ไม่บังคับ) ติดตั้ง Repo ด้วยตนเองโดยใช้ชุดคำสั่งต่อไปนี้

    export REPO=$(mktemp /tmp/repo.XXXXXXXXX)
    curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo
    gpg --recv-keys 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
    curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo

    คำสั่ง 3 รายการแรกจะตั้งค่าไฟล์ชั่วคราว ดาวน์โหลด Repo ไปยังไฟล์ และตรวจสอบว่าคีย์ที่ระบุตรงกับคีย์ที่จำเป็น หากคำสั่งเหล่านี้สำเร็จ คำสั่งสุดท้ายจะติดตั้งตัวเรียกใช้ Repo

  4. ตรวจสอบเวอร์ชันตัวเรียกใช้ Repo

    repo version

    เอาต์พุตควรระบุเวอร์ชัน 2.4 ขึ้นไป เช่น

    repo launcher version 2.45

ตั้งค่าไดเรกทอรีเอาต์พุตอื่น

โดยค่าเริ่มต้น เอาต์พุตของแต่ละบิลด์จะจัดเก็บไว้ในไดเรกทอรีย่อย out/ ของโครงสร้างไดเรกทอรีของซอร์สโค้ดที่ตรงกัน คุณสามารถลบล้างไดเรกทอรีนี้ได้โดยการส่งออกตัวแปรสภาพแวดล้อม OUT_DIR ตัวอย่างเช่น หากต้องการจัดเก็บเอาต์พุตไว้ในไดรฟ์อื่น คุณสามารถชี้ OUT_DIR ไปยังไดรฟ์นั้นได้ดังนี้

export OUT_DIR=my_other_drive

ต้องทำอะไรต่อ

  • หากต้องการดาวน์โหลดซอร์สโค้ด ให้ไปที่หัวข้อดาวน์โหลดซอร์สโค้ด Android
  • หากต้องการความช่วยเหลือในการเรียนรู้ Git โปรดดูเอกสารประกอบของ Git
  • หากต้องการเอกสารประกอบเพิ่มเติมของ Repo โปรดดูไฟล์ Repo README
  • หากต้องการดูรายการคำสั่ง Repo ทั้งหมด โปรดดูข้อมูลอ้างอิงคำสั่ง Repo