Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Android

วิธีสร้าง Custom ROM จาก Android Open Source Project (AOSP)


สร้าง Custom ROM เองจากซอร์สโค้ด AOSP

ใครเคย root โทรศัพท์ หรือโหลด Custom ROM อย่าง CyanogenMod/Lineage OS อาจสงสัยว่า สร้าง ROM ยังไง? ใช้ความพยายามมากน้อยแค่ไหน?

คู่มือนี้แนะนำพื้นฐานการพัฒนา Custom ROM เอง งานใหญ่มาก — ถ้าไม่มีประสบการณ์ coding หรือ Linux terminal ควรเรียนรู้ก่อน แต่ถ้ามีพื้นฐาน จะอธิบายให้เข้าใจง่ายที่สุด

โหลด raw Android source code (AOSP) แล้วปรับแต่ง AOSP master source ไม่รวม device-specific hardware proprieties กล่าวคือ กล้อง GPU จะไม่ทำงาน "out of the box" ไม่มี hardware binaries ไม่บูทได้

ถ้าพัฒนาสำหรับ Google Pixel/Nexus หา hardware binaries จาก Google ได้ คู่มือนี้แนะนำวิธีเอาและ build เข้า ROM แต่ถ้าเป็นแบรนด์อื่น (Sony, Samsung...) — โชคดีนะ เพราะจะยากมาก

บางผู้ผลิตมี open-source projects หรือปล่อย dev tools แตบางรายล็อก proprietary code รายการ open-source projects ยอดนิยม:

  • Samsung Open Source Release Center
  • Sony Developer World
  • Lenovo Support
  • Huawei Open Source Release Center
  • Motorola Developers

ต่อไปสมมติว่า build ROM สำหรับ Google Pixel แบบ vanilla ด้วยความรู้นี้ จะขยายต่อไปได้

ข้อกำหนด:

  • Android Open Source Project
  • Pixel XL phone หรือ Android emulator สำหรับ Linux
  • 64-bit Linux OS — Ubuntu/Linux Mint ใช้ง่าย BBQLinux พัฒนาสำหรับ Android dev
  • Python
  • คอมพิวเตอร์แรง (compile ใช้ RAM และพื้นที่มาก!)

ตั้งค่า Build Environment

ติดตั้ง Android emulator บน Linux ใช้ Genymotion (โปรด) ดาวน์โหลดจากเว็บ สมัคร verify email ดาวน์โหลด executable

Terminal:

chmod +x genymotion-xxxxx.bin
./genymotion-xxxxxx.bin

กด Y สร้างโฟลเดอร์ Genymotion แล้ว:

cd genymotion && ./genymotion

คลิก Next จนถึง Add Virtual Devices เลือก "Pixel XL" ติดตั้งเสร็จ ทดสอบได้

ติดตั้ง Python:

$ apt-get install python

ติดตั้ง Java Development Kit:

$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk

ตั้งค่า USB device access:

วิธีสร้าง Custom ROM จาก Android Open Source Project (AOSP)

ดาวน์โหลด 51-android.txt ใส่ username แล้ววางที่ (as root):
วิธีสร้าง Custom ROM จาก Android Open Source Project (AOSP)

เสียบโทรศัพท์ USB ให้ rules ทำงาน

ดาวน์โหลด Android Source

AOSP อยู่บน Git ใช้ tool Repo จัดการ

$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
$ git config --global user.name "Your Name"
$ git config --global user.email you@gmail.com
$ repo init -u https://android.googlesource.com/platform/manifest
$ repo sync

Build Android Source

โหลด Pixel XL binaries สำหรับ Android 7.1.0 (NDE63P) จาก AOSP drivers page ทั้ง vendor image และ hardware components แตกไฟล์ รัน self-extracting script จาก root folder ติดตั้งที่ root ของ WORKING_DIRECTORY

$ make clobber
$ source build/envsetup.sh
$ lunch aosp_marlin-userdebug
$ setpaths
$ make –j4

Build ROM เสร็จ ทดสอบใน emulator:

$ emulator

Vanilla Android น่าเบื่อมาก ผู้ผลิตจะ fork AOSP เพิ่ม proprietary binaries, ปรับ UI, boot logo ฯลฯ ต่อไปจะสอนเพิ่ม fonts, themes, boot animation