หน้านี้กล่าวถึงวิธีตั้งค่าการพัฒนาซอฟต์แวร์ด้วย 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 ระบบปฏิบัติการ ซึ่งทำให้เป็นบิลด์ Android ที่มีประสิทธิภาพลดลง
กนู 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 ระบบปฏิบัติการ ซึ่งทำให้เป็นบิลด์ Android ที่มีประสิทธิภาพลดลง
กนู Linux
- Android 2.3.x - Android 4.4: Ubuntu 12.04 (แม่นยำ)
Mac OS X (Intel/x86)
- Android 4.1.x - Android 4.4.x: Mac OS X v10.6 (ขาวสโนว์ Leopard) หรือ Mac OS X v10.7 (Lion) และ Xcode 4.2 (Apple Developer Tools)
- Android 2.3 - Android 4.0.x: Mac OS X v10.5 (Leopard) หรือ Mac OS X v10.6 (Snow Leopard) และ SDK ของ Mac OS X v10.5
แบรนด์ของ GNU
สำหรับ 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
สำหรับ Homeบรูง ปัญหา:
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
พร้อม SHA256 วันที่0f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
openjdk-8-jre_8u45-b14-1_amd64.deb
พร้อม SHA256 วันที่9ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
openjdk-8-jdk_8u45-b14-1_amd64.deb
พร้อม SHA256 วันที่6e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
(ไม่บังคับ) ยืนยันการตรวจสอบข้อผิดพลาด (Checksum) ของไฟล์ที่ดาวน์โหลดกับ สตริง SHA256 แสดงพร้อมกับแพ็กเกจแต่ละรายการจากขั้นตอนที่ 1 ตัวอย่างเช่น โดยมี เครื่องมือ
sha256sum
:sha256sum {downloaded.deb file}
ติดตั้งแพ็กเกจด้วยคำสั่งต่อไปนี้
sudo apt-get update
เรียกใช้
dpkg
กับไฟล์.deb
แต่ละไฟล์ที่คุณดาวน์โหลด อาจทำให้เกิดข้อผิดพลาด เนื่องจากทรัพยากร Dependency ขาดหายไป:sudo dpkg -i {downloaded.deb file}
วิธีแก้ไขทรัพยากร Dependency ที่ขาดหายไป
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