หน้านี้จะอธิบายวิธีตั้งค่าสําหรับการพัฒนาด้วย 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 และ Command Line Tools
- 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 แยกต่างหาก ใช้ OpenJDK ใน Ubuntu
สำหรับ Ubuntu 15.04 ขึ้นไป
เรียกใช้คำสั่งต่อไปนี้
sudo apt-get update
sudo apt-get install openjdk-8-jdk
สำหรับ Ubuntu LTS 14.04
ไม่มีแพ็กเกจ OpenJDK 8 ที่รองรับสำหรับ Ubuntu 14.04 แพ็กเกจ OpenJDK 8 ของ Ubuntu 15.04 ใช้กับ Ubuntu 14.04 ได้สําเร็จ แพ็กเกจเวอร์ชันที่สูงกว่า (เช่น แพ็กเกจสำหรับ 15.10, 16.04) จะใช้กับ 14.04 โดยใช้วิธีการต่อไปนี้ไม่ได้
ดาวน์โหลดแพ็กเกจ
.deb
สำหรับสถาปัตยกรรม 64 บิตจาก old-releases.ubuntu.comopenjdk-8-jre-headless_8u45-b14-1_amd64.deb
with SHA2560f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
openjdk-8-jre_8u45-b14-1_amd64.deb
with SHA2569ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
openjdk-8-jdk_8u45-b14-1_amd64.deb
with 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 เริ่มต้น
สำหรับ 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