หน้านี้จะอธิบายวิธีตั้งค่าสำหรับการพัฒนาด้วย 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 มีประสิทธิภาพลดลง
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 และเครื่องมือบรรทัดคำสั่ง
- Android 5.x: Mac OS X v10.8 (Mountain Lion) ที่มี Xcode 4.5.2 และเครื่องมือบรรทัดคำสั่ง
JDK
Android 7.0 - Android 8.0:
- Ubuntu: OpenJDK 8
- Mac OS X: JDK 8u45 ขึ้นไป
Android 5.x (Lollipop) - Android 6.0 (Marshmallow):
- Ubuntu: OpenJDK 7
- Mac OS X: jdk-7u71-macosx-x64.dmg
ตั้งค่าสำหรับการพัฒนา 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 มีประสิทธิภาพลดลง
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)
- 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 หรือต่ำกว่า ให้ติดตั้ง 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 โดยใช้ MacPorts ได้โดยทำตามขั้นตอนต่อไปนี้
แก้ไข
/opt/local/etc/macports/sources.confและเพิ่มfile:///Users/Shared/dportsเหนือบรรทัดrsyncสร้างไดเรกทอรี
dportsโดยทำดังนี้mkdir /Users/Shared/dportsในไดเรกทอรี
dportsใหม่ ให้เรียกใช้คำสั่งต่อไปนี้svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/สร้างดัชนีพอร์ตสำหรับที่เก็บในเครื่องใหม่โดยทำดังนี้
portindex /Users/Shared/dportsติดตั้ง gmake เวอร์ชันต่ำกว่าโดยทำดังนี้
sudo port install gmake @3.81
JDK
- Android 2.3.x - Android 4.4.x:
- Ubuntu: Java JDK 6
- Mac OS X: Java JDK 6
JDK สำหรับ Linux
โครงการ
โอเพนซอร์ส Android (AOSP)
มาพร้อมกับ OpenJDK เวอร์ชันที่สร้างไว้ล่วงหน้าภายใน prebuilts/jdk/ จึงไม่จำเป็นต้องติดตั้ง
เพิ่มเติม
Android เวอร์ชันก่อนหน้าต้องติดตั้ง JDK แยกต่างหาก ใน Ubuntu ให้ใช้ OpenJDK
สำหรับ Ubuntu 15.04 ขึ้นไป
เรียกใช้คำสั่งต่อไปนี้
sudo apt-get update
sudo apt-get install openjdk-8-jdk
สำหรับ Ubuntu LTS 14.04
ไม่มีแพ็กเกจ OpenJDK 8 ที่รองรับสำหรับ Ubuntu 14.04 แพ็กเกจ Ubuntu 15.04 OpenJDK 8 ใช้งานได้กับ Ubuntu 14.04 แพ็กเกจเวอร์ชันที่สูงกว่า (เช่น เวอร์ชันสำหรับ 15.10, 16.04) จะใช้ไม่ได้ใน 14.04 เมื่อทำตามวิธีการต่อไปนี้
ดาวน์โหลดแพ็กเกจ
.debสำหรับสถาปัตยกรรม 64 บิตจาก old-releases.ubuntu.comopenjdk-8-jre-headless_8u45-b14-1_amd64.debที่มี SHA2560f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0openjdk-8-jre_8u45-b14-1_amd64.debที่มี SHA2569ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849openjdk-8-jdk_8u45-b14-1_amd64.debที่มี SHA2566e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
หรือจะยืนยันการตรวจสอบไฟล์ที่ดาวน์โหลดกับสตริง SHA256 ที่แสดงพร้อมกับแพ็กเกจแต่ละรายการจากขั้นตอนที่ 1 ก็ได้ เช่น ใช้เครื่องมือ
sha256sumโดยทำดังนี้sha256sum {downloaded.deb file}ติดตั้งแพ็กเกจโดยทำดังนี้
sudo apt-get updateเรียกใช้
dpkgสำหรับไฟล์.debแต่ละไฟล์ที่ดาวน์โหลด ซึ่งอาจทำให้เกิดข้อผิดพลาดเนื่องจากส่วนที่ใช้อ้างอิงขาดหายไปsudo dpkg -i {downloaded.deb file}วิธีแก้ไขส่วนที่ใช้อ้างอิงขาดหายไปมีดังนี้
sudo apt-get -f install
(ไม่บังคับ) อัปเดต Java เวอร์ชันเริ่มต้น
หรือจะอัปเดต Java เวอร์ชันเริ่มต้นสำหรับ Ubuntu เวอร์ชันที่กล่าวถึงก่อนหน้านี้โดยเรียกใช้คำสั่งต่อไปนี้ก็ได้
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