วิธีการสร้างรอมที่กำหนดเองจากโครงการโอเพ่นซอร์ส Android

ถ้าคุณคุ้นเคยกับการขลิบโทรศัพท์ Android หรือดาวน์โหลดรอมที่กำหนดเองเช่น CyanogenMod ที่ได้รับความนิยมอย่างสูงหรือระบบสืบทอดตระกูล Lineage OS คุณอาจสงสัยว่าคนเหล่านี้สร้างรอมเหล่านี้อย่างไร? เท่าไหร่ทำงานตรงไปในการพัฒนา ROM เอง?

คู่มือนี้จะนำคุณสู่พื้นฐานของการพัฒนา ROM Android ของคุณเอง ควรสังเกตว่านี่เป็นงานที่ใหญ่มากหากคุณไม่มีประสบการณ์ด้านรหัสหรือหลอกลวงในเทอร์มินัลลินุกซ์คุณอาจต้องได้รับความรู้จากสายพานของคุณก่อนที่จะดำน้ำลึกลงไป แต่ถ้าคุณมีความคิดพื้นฐานเกี่ยวกับสิ่งเหล่านี้อย่างน้อยฉันจะพยายามอธิบายสิ่งต่างๆให้มากที่สุดเท่าที่จะเป็นไปได้เพื่อให้คุณสามารถทำตามได้

โดยทั่วไปสิ่งที่เรากำลังทำอยู่คือการดาวน์โหลดซอร์สโค้ด Android (AOSP) และปรับเปลี่ยนตามความชอบของเรา เนื่องจากมีแหล่งข้อมูลจำนวนมากให้เลือกสำหรับอุปกรณ์ต่างๆคำแนะนำนี้จะอ้างอิง แหล่งข้อมูล หลัก ที่ เรียกว่า AOSP (Android Open Source Project)

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

หากคุณพัฒนาโทรศัพท์ที่มีตราสินค้าของ Google (Pixel, Nexus ฯลฯ ) คุณสามารถหาแอดแวร์ไบนารีได้โดยตรงจาก Google และคู่มือนี้จะนำคุณไปสู่การได้รับและสร้างไว้ในรอมของคุณ อย่างไรก็ตามหากคุณกำลังพัฒนา ROM สำหรับโทรศัพท์แบรนด์เนม (Sony, Samsung ฯลฯ ) ให้อวยพรหัวใจของคุณเพราะคุณอยู่ในระหว่างการเดินทาง

ผู้ผลิต บาง รายมีโครงการโอเพนซอร์สของตนเองหรือปล่อยเครื่องมือการพัฒนาสำหรับนักพัฒนาซอฟต์แวร์ที่ต้องการ แต่ผู้ผลิตรายอื่น ๆ ยังคงรักษารหัสที่เป็นกรรมสิทธิ์ของตนไว้อย่างแน่นหนา ต่อไปนี้เป็นรายการย่อ ๆ ของโครงการโอเพนซอร์สจากผู้ผลิตยอดนิยม:

ศูนย์ประชาสัมพันธ์ซัมซุงโอเพนซอร์ส
โลกของ Sony Developer
การสนับสนุน Lenovo
ศูนย์ประชาสัมพันธ์โอเพนซอร์ส Huawei
นักพัฒนาโมโตโรล่า

ด้วยวิธีการดังกล่าวให้ดำเนินการต่อภายใต้สมมติฐานที่เรากำลังสร้าง ROM สำหรับพื้นฐานประสบการณ์วานิลลา Android สำหรับอุปกรณ์ Google Pixel ด้วยความรู้นี้ภายใต้เข็มขัดของคุณคุณจะสามารถแยกออกด้วยตัวคุณเองและเริ่มต้นการพัฒนารอมรอมของผู้ผลิตเฉพาะรุ่นที่กำหนดเอง

ข้อกำหนดสำหรับคู่มือนี้:

  • โครงการโอเพ่นซอร์ส Android
  • โทรศัพท์ Pixel XL หรือ เครื่องจำลอง Android สำหรับ Linux
  • ระบบปฏิบัติการ Linux ขนาด 64 บิต - อูบุนตูหรือ Linux Mint เป็นระบบปฏิบัติการใหม่ที่เป็นมิตรกับเด็กในขณะที่ BBQLinux ได้รับการพัฒนาขึ้นโดยเฉพาะกับนักพัฒนาระบบแอนดรอยด์
  • หลาม
  • คอมพิวเตอร์ที่มีกำลังมาก (การรวบรวมโค้ดจะใช้หน่วยความจำและพื้นที่มาก!)

การสร้างสภาพแวดล้อมการสร้างของคุณ

เริ่มต้นด้วยการตั้งค่าโปรแกรมจำลอง Android บนเครื่อง Linux ของคุณ ไม่ว่าคุณจะมีอุปกรณ์ Google Pixel XL หรือไม่ก็ปลอดภัยที่สุดในการทดลองใช้รอมใหม่ของคุณบนเครื่องจำลอง Android ก่อนที่จะ กระพริบไปที่อุปกรณ์ของคุณ สิ่งที่ฉันชอบคือ Genymotion ดังนั้นฉันจะแนะนำคุณให้รู้จักกับการติดตั้งโปรแกรมจำลองนั้น อย่างไรก็ตามคุณสามารถดูคู่มือนี้ได้สำหรับ Emulators Android ที่ดีที่สุดสำหรับ Windows ในปี 2017 เนื่องจากส่วนใหญ่มีความเข้ากันได้กับ Linux

ไปที่เว็บไซต์ Genymotion ลงทะเบียนบัญชียืนยันอีเมลและดาวน์โหลดไฟล์ปฏิบัติการไปยังเดสก์ท็อป Linux ของคุณ

ตอนนี้เปิดลินุกซ์เทอร์มินัลแล้วพิมพ์:

Chmod + x genymotion-xxxxx.bin (แทนที่ xxxx ด้วยหมายเลขเวอร์ชันในชื่อไฟล์)
./genymotion-xxxxxx.bin

กด Y เพื่อสร้างไดเร็กทอรี Genymotion ตอนนี้พิมพ์ใน terminal:

cd genymotion && ./genymotion

ตอนนี้จะขอให้คุณเริ่มต้นกระบวนการติดตั้งดังนั้นเพียงคลิก Next ต่อไปจนกว่าจะถึงหน้าต่าง Add Virtual Devices เลือก Pixel XL ภายใต้ Device Model และดำเนินการติดตั้งเสร็จสิ้น คุณสามารถทดสอบอุปกรณ์เสมือนได้หากต้องการโดยทั่วไปจะเหมือนกับการใช้โทรศัพท์ Pixel XL บนเดสก์ท็อปของคุณ

PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่

ตอนนี้เราตั้งค่า Python:

$ apt-get install python

ตอนนี้เราจำเป็นต้องติดตั้ง Java Development Kit บนเครื่อง Linux ของคุณ เปิดเทอร์มินัล Linux และพิมพ์คำสั่งต่อไปนี้:

$ sudo apt-get update
$ sudo apt-get ติดตั้ง openjdk-8-jdk

ตอนนี้คุณจะต้องกำหนดค่าระบบ Linux เพื่อให้สามารถเข้าถึงอุปกรณ์ USB ได้ เรียกใช้รหัสต่อไปนี้ใน terminal Linux:

ซึ่งจะดาวน์โหลดไฟล์ 51-android.txt ที่จำเป็นซึ่งช่วยให้สามารถเข้าถึงอุปกรณ์ USB ดังกล่าวได้ เปิดไฟล์. txt และแก้ไขเพื่อรวมชื่อผู้ใช้ Linux ของคุณจากนั้นวางไฟล์. txt ในตำแหน่งต่อไปนี้: (เป็น ผู้ใช้ root ) ตอนนี้เสียบอุปกรณ์ของคุณเข้ากับคอมพิวเตอร์ของคุณผ่านทาง USB เพื่อให้กฎใหม่มีผลโดยอัตโนมัติ

กำลังดาวน์โหลด Android Source

AOSP เป็นเจ้าภาพใน Git ดังนั้นเราจะใช้เครื่องมือที่เรียกว่า Repo เพื่อสื่อสารกับ Git

อันดับแรกเราต้องตั้งค่าโฟลเดอร์ / bin ในโฮมไดเร็กตอรี่ พิมพ์คำสั่งต่อไปนี้ลงในลินุกซ์เทอร์มินัล:

$ mkdir ~ / bin
$ PATH = ~ / bin: $ PATH

ตอนนี้เราจะดาวน์โหลดเครื่องมือ repo เพื่อพิมพ์ลงใน terminal Linux:

$ curl https://storage.googleapis.com/git-repo-downloads/repo> ~ / bin / repo
$ chmod a + x ~ / bin / repo

หลังจากติดตั้ง Repo แล้วเราจะต้องสร้างไดเร็กทอรีว่างไว้เพื่อเก็บไฟล์งานของคุณไว้ ดังนั้นพิมพ์ลงใน terminal Linux:

$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY

ตอนนี้เราจะกำหนดค่า Git ด้วยชื่อและที่อยู่อีเมลของคุณ - ใช้ที่อยู่ Gmail ที่คุณตรวจสอบอย่างสม่ำเสมอ มิฉะนั้นคุณจะไม่สามารถใช้เครื่องมือตรวจสอบรหัส Gerrit ได้

$ git config -global user.name ชื่อของคุณ
$ git config - global user.email [email protected]

ตอนนี้เราจะบอก Repo เพื่อดึงไฟล์ Manifest ล่าสุดของ AOSP จาก Git:

$ repo init -u https://android.googlesource.com/platform/manifest

ถ้าทำสำเร็จคุณจะได้รับข้อความว่า Repo ได้รับการเตรียมใช้งานในไดเรกทอรีการทำงานของคุณแล้ว นอกจากนี้คุณจะพบไดเร็กทอรี . repo ภายในไดเร็กทอรีไคลเอ็นต์ ตอนนี้เราจะดาวน์โหลดต้นทางแหล่งข้อมูล Android ด้วย:

ซิงค์ repo $

การสร้างที่มา Android

นี่คือที่ไบนารีของฮาร์ดแวร์ที่กล่าวถึงในตอนต้นของคู่มือนี้จะเข้ามาเล่น ลองไปที่หน้าไดรเวอร์ AOSP แล้วดาวน์โหลด Pixel XL binaries สำหรับ Android 7.1.0 (NDE63P) คุณต้องการดาวน์โหลดทั้งภาพผู้จำหน่ายและส่วนประกอบฮาร์ดแวร์ เหล่านี้มาเป็นที่เก็บถาวรบีบอัดดังนั้นจึงแยกไฟล์เหล่านี้ไปยังเดสก์ท็อปของคุณและเรียกใช้สคริปต์การขยายตัวด้วยตัวเองจากโฟลเดอร์ราก เลือกติดตั้งไบนารีลงในรากของ WORKING_DIRECTORY ที่เราสร้างขึ้นก่อนหน้านี้

ตอนนี้พิมพ์ลงใน terminal Linux ของคุณ:

ทำกระจุ๋มกระจิ๋ม
$ source build / envsetup.sh

ตอนนี้เราจะเลือกเป้าหมายที่จะสร้างดังนั้นพิมพ์:

$ lunch aosp_marlin-userdebug
$ setpaths
$ make -j4

ที่นี่เราได้สร้าง ROM Android จากแหล่งข้อมูลแล้ว ลองทดสอบในโปรแกรมจำลองโดยพิมพ์ลงในเทอร์มินัล:

$ emulator

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

ดังนั้นสิ่งที่ผู้ผลิตมักจะทำกับ AOSP เป็นส้อมมันเพิ่มไบนารีที่เป็นกรรมสิทธิ์ของตัวเองปรับแต่ง UI เพิ่มโลโก้บูต ฯลฯ ผู้ผลิตของพื้นเพียงสีมากกว่าสต็อก Android รอมและเพื่อที่จะเป็นเป้าหมายต่อไปของคุณเช่นกัน .

คอยติดตามกันเนื่องจากส่วนที่สองของคู่มือเล่มนี้จะมีการเพิ่มแบบอักษรธีมและภาพเคลื่อนไหวสำหรับบู๊ตสู่รอมของคุณ!

PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่

Facebook Twitter Google Plus Pinterest