การสร้างสภาพแวดล้อมในการสร้าง

ส่วนนี้อธิบายวิธีตั้งค่าสภาพแวดล้อมการทำงานในพื้นที่ของคุณเพื่อสร้างไฟล์ต้นฉบับของ Android คุณต้องใช้ลินุกซ์ ไม่รองรับการสร้างภายใต้ MacOS หรือ Windows เก็บไว้ในใจการเปลี่ยนแปลงที่สำคัญต่อ /usr/bin/python ไบนารีเช่นกัน

สำหรับภาพรวมของรหัสตรวจสอบและรหัสการปรับปรุงกระบวนการทั้งหมดให้ดู ชีวิตของแพทช์

การเลือกสาขา

ข้อกำหนดบางประการสำหรับสภาพแวดล้อมการสร้างถูกกำหนดโดยเวอร์ชันของซอร์สโค้ดที่คุณวางแผนจะคอมไพล์ สำหรับรายชื่อเต็มของสาขาที่มีอยู่ให้ดู เบอร์รูปร่าง นอกจากนี้คุณยังสามารถเลือกที่จะดาวน์โหลดและสร้างรหัสล่าสุดแหล่งที่มา (เรียกว่า master ) ซึ่งในกรณีนี้คุณก็ละเว้นข้อกำหนดสาขาเมื่อคุณเริ่มต้นพื้นที่เก็บข้อมูล

หลังจากเลือกสาขาแล้ว ให้ทำตามคำแนะนำที่เหมาะสมด้านล่างเพื่อตั้งค่าสภาพแวดล้อมการสร้างของคุณ

การตั้งค่าสภาพแวดล้อมการสร้าง Linux

คำแนะนำเหล่านี้นำไปใช้กับทุกสาขารวมทั้ง master

บิลด์ Android ได้รับการทดสอบเป็นประจำในบ้านบน Ubuntu LTS (14.04) และการทดสอบเดเบียน การกระจายอื่นๆ ส่วนใหญ่ควรมีเครื่องมือสร้างที่จำเป็น

สำหรับ Gingerbread (2.3.x) และรุ่นที่สูงขึ้นรวมทั้ง master สาขาสภาพแวดล้อม 64 บิตจะต้อง รุ่นเก่ากว่าสามารถคอมไพล์บนระบบ 32 บิต

การติดตั้งแพ็คเกจที่จำเป็น (Ubuntu 18.04)

คุณต้องมี Ubuntu รุ่น 64 บิต

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

การติดตั้งแพ็คเกจที่จำเป็น (Ubuntu 14.04)

คุณต้องใช้ Ubuntu รุ่น 64 บิต (แนะนำให้ใช้ 14.04)

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib 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 เพื่อสร้าง Android เวอร์ชันเก่าได้ เวอร์ชัน 12.04 ไม่ได้รับการสนับสนุนบน master หรือล่าสุดเผยแพร่

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 g++-multilib 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

การติดตั้งแพ็คเกจที่จำเป็น (Ubuntu 10.04-11.10)

ไม่รองรับการสร้างบน Ubuntu 10.04-11.10 อีกต่อไป แต่อาจมีประโยชน์สำหรับการสร้าง AOSP รุ่นเก่ากว่า

sudo apt-get install git gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc

บน Ubuntu 10.10:

sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so

บน Ubuntu 11.10:

sudo apt-get install libx11-dev:i386

การกำหนดค่าการเข้าถึง USB

ติดตั้งชุดเริ่มต้นชุมชนบำรุงรักษาของ udev กฎสำหรับทุกอุปกรณ์ Android โดยทำตามคำแนะนำในการ ตั้งค่าอุปกรณ์สำหรับการพัฒนา

การใช้ไดเร็กทอรีเอาต์พุตแยกต่างหาก

โดยค่าเริ่มต้นการส่งออกของแต่ละคนสร้างจะถูกเก็บไว้ใน out/ ไดเรกทอรีย่อยของต้นไม้ที่มาจับคู่

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

การตั้งค่านี้ส่งออก OUT_DIR_COMMON_BASE ตัวแปรชี้ไปที่ตำแหน่งที่ไดเรกทอรีส่งออกของคุณจะถูกเก็บไว้

export OUT_DIR_COMMON_BASE=<path-to-your-out-directory>

ไดเร็กทอรีเอาต์พุตสำหรับแต่ละทรีต้นทางแยกกันตั้งชื่อตามไดเร็กทอรีที่มีทรีต้นทาง ตัวอย่างเช่นถ้าคุณมีต้นไม้แหล่งที่มา /source/master1 และ /source/master2 และถ้า OUT_DIR_COMMON_BASE มีการตั้งค่า /output ไดเรกทอรีการส่งออกที่มี /output/master1 และ /output/master2

หลีกเลี่ยงการมีทรีต้นทางหลายต้นจัดเก็บไว้ในไดเร็กทอรีที่มีชื่อเดียวกัน เนื่องจากแผนผังต้นทางจะจบลงด้วยการแชร์ไดเร็กทอรีเอาต์พุตด้วยผลลัพธ์ที่คาดเดาไม่ได้ นี้ได้รับการสนับสนุนเฉพาะใน Jelly Bean (4.1) และสูงกว่ารวมทั้ง master สาขา

ถัดไป: ดาวน์โหลดซอร์ส

สภาพแวดล้อมการสร้างของคุณพร้อมแล้ว! ดำเนินการต่อเพื่อ ดาวน์โหลดแหล่งที่มา