วิธีรับการอัพเดท OTA บน Xiaomi Mi A2 ที่ติดตั้งด้วย Magisk อย่างง่ายดาย

การใช้การอัปเดต OTA กับราก Xiaomi Mi A2 อาจทำให้ปวดหัวมากเนื่องจากอาจเกี่ยวข้องกับการเลิกรูทอุปกรณ์ของคุณและทำตามขั้นตอนทั้งหมดเพื่อหยั่งรากทั้งหมดอีกครั้ง โชคดีที่มีวิธีการติดตั้ง Magisk ที่รองรับการอัพเดท OTA

ดังนั้นหากคุณต้องการรูท Xiaomi Mi A2 ในขณะที่สามารถใช้การอัปเดต OTA โดยไม่ถอนการติดตั้งอุปกรณ์ของคุณให้ทำตามคำแนะนำง่ายๆด้านล่าง

ที่ต้องการ:

  • ADB และ Fastboot (ดูคู่มือของ Appual วิธีการติดตั้ง ADB บน ​​Windows)
  • เครื่องมือ MiFlash

ก่อนอื่นคุณต้องปลดล็อค bootloader ของคุณ - แต่คุณต้องระวังให้มากและระวังให้ดีว่าโปรแกรมปลดล็อค Xiaomi bootloader นั้นช้ามาก อาจใช้เวลา หลายสัปดาห์ ในการรับรหัสปลดล็อก bootloader คุณควรระวัง ARB ( กลไกป้องกันการย้อนกลับ) ในอุปกรณ์ Xiaomi

หาก bootloader ของอุปกรณ์ของคุณถูกปลดล็อคแล้วยอดเยี่ยม! เราสามารถดำเนินการต่อ

ไปที่การตั้งค่า> ระบบ> เกี่ยวกับโทรศัพท์> แตะ 'หมายเลขสร้าง' 7 ครั้งจนกระทั่งโหมดนักพัฒนาถูกปลดล็อก

ตอนนี้ไปที่การตั้งค่า> ตัวเลือกสำหรับนักพัฒนา> เปิดใช้งานการปลดล็อค OEM

ตอนนี้ปิดอุปกรณ์ของคุณและกดปุ่มลดระดับเสียง + ปุ่มเพาเวอร์ ปล่อยปุ่มเมื่อคุณเข้าสู่เมนู Fastboot

เชื่อมต่อ Xiaomi Mi A2 ของคุณกับพีซีของคุณผ่าน USB และเปิดเทอร์มินัล ADB ( กด Shift + คลิกขวาในโฟลเดอร์ ADB หลักของคุณแล้วเลือก 'เปิดหน้าต่างคำสั่งที่นี่')

ในเทอร์มินัล ADB ให้พิมพ์คำสั่งนี้: fastboot oem unlock

นี่จะรีบูทโทรศัพท์ของคุณและ ลบข้อมูลทั้งหมด ในขณะที่ปลดล็อค bootloader ของคุณ

การติดตั้ง Magisk

ดาวน์โหลดและติดตั้ง Magisk Manager APK เวอร์ชันล่าสุดบนโทรศัพท์ของคุณ

ตอนนี้ดาวน์โหลด bootedimg จากการดาวน์โหลดต่อไปนี้หรือมิฉะนั้นเราจะแสดงวิธีการแก้ไข boot.img ดั้งเดิมด้วยตัวเองใต้รายการ boot.img ที่ดาวน์โหลด

เมื่อดาวน์โหลด boot.img ที่ได้รับการติดตั้งแล้วคุณต้องแน่ใจว่ามันมีหมายเลขบิลด์เดียวกันกับที่คุณเปิดอยู่ ดังนั้นตรวจสอบหมายเลขบิลด์ของคุณในการตั้งค่า> เกี่ยวกับโทรศัพท์ก่อนดำเนินการต่อและ อย่าแฟลชไฟล์โดยตรงบนหน่วยความจำของโทรศัพท์เพราะ Magisk จะทำงานไม่ถูกต้อง ทำตามคำแนะนำของเราอย่างระมัดระวังและตรงตามที่เขียนไว้

คุณควรดาวน์โหลด patched boot.img ไปยังโฟลเดอร์ ADB ของคุณบนพีซีของคุณ

  • patched_boot 9.6.4.0 (อัปเดต 2018 กรกฎาคม) - แพทช์กับ Magisk 17.1
  • patched_boot 9.6.6.0 (อัปเดต 2018 สิงหาคม) - แพทช์ด้วย Magisk 17.1
  • patched_boot 9.6.8.0 (อัปเดต 2018 กันยายน) - แพตช์ด้วย Magisk 17.1

ในกรณีที่คุณเผลอแฟลช boot.img ผิดคุณสามารถแฟลช boot.img ดั้งเดิมได้จากรายการด้านล่าง:

  • boot.img ดั้งเดิม 9.6.4.0 (อัปเดต 2018 กรกฎาคม) - นำมาจาก fastboot ROM
  • boot.img ดั้งเดิม 9.6.6.0 (อัปเดต 2018 สิงหาคม) - นำมาจากการอัปเดต OTA
  • boot.img ดั้งเดิม 9.6.8.0 (อัปเดต 2018 กันยายน) - นำมาจากการอัปเดต OTA

โปรดระวังว่าถ้าทำ patch ตัวเอง boot.img คุณจะต้อง boot.img ดั้งเดิมของคุณ - คุณสามารถหามันได้จากไฟล์ zip fastboot ROM สำหรับ เดซี่ แต่ตรวจสอบให้แน่ใจว่าเวอร์ชั่น ROM ที่ดาวน์โหลดมามี Build Number เหมือนกับหมายเลขในโทรศัพท์ของคุณ ดังนั้นให้ดาวน์โหลด boot.img ดั้งเดิมด้วย Build Number เดียวกับโทรศัพท์ของคุณหรืออัปเดต / ดาวน์เกรดเวอร์ชันของคุณ

หลังจากที่คุณมี boot.img ดั้งเดิม ( แยกจาก fastboot ROM zip อย่างเป็นทางการ) คุณต้องคัดลอกไปยัง หน่วยความจำภายนอก ของโทรศัพท์ (การ์ด SD)

ตอนนี้เปิดแอพ Magisk Manager แล้วมันจะถามว่าคุณต้องการติดตั้ง Magisk - ยอมรับการติดตั้งจากนั้นเลือก“ Patch Boot Image Image” แล้วเลือกไฟล์ boot.img ที่คุณถ่ายโอน

กระบวนการควรใช้เวลาประมาณ 1 นาทีจึงจะเสร็จสิ้นดังนั้นจึงควรปิดเมื่อเสร็จสิ้น ในหน่วยความจำโทรศัพท์ของคุณในไดเรกทอรี ดาวน์โหลด คุณควรค้นหาไฟล์ชื่อ“ patched_boot.img” ซึ่งคุณต้องโอนไปยังพีซีของคุณ วางไว้ในโฟลเดอร์ ADB หลักของคุณ

ตอนนี้รีบูตอุปกรณ์ของคุณเข้าสู่โหมด Fastboot ( จำไว้ว่า Power + Volume Down) และเปิดเครื่องเทอร์มินัล ADB บนพีซีของคุณ

ในเทอร์มินัล ADB ให้พิมพ์คำสั่งต่อไปนี้: fastboot boot patched_boot.img

โทรศัพท์ของคุณควรบูตตามปกติ เมื่อคุณกลับมาในระบบ Android ให้เปิดแอพ Magisk Manager และมันจะถามอีกครั้งเพื่อติดตั้ง Magisk ไปข้างหน้าและเลือกติดตั้ง> ติดตั้งโดยตรงและรีบูตเมื่อเสร็จแล้ว

ตอนนี้เป็นการป้องกันไว้ก่อนสำหรับการอัปเดต OTA ในอนาคตให้ไปที่การตั้งค่า> ระบบ> ตัวเลือกสำหรับนักพัฒนา> ปิดการใช้งานการอัปเดตระบบอัตโนมัติ คุณควรเลือกที่จะติดตั้งการอัปเดต OTA ด้วยตนเอง เท่านั้น ไม่อนุญาต OTA อัตโนมัติบนอุปกรณ์ Android ที่รูท

วิธีการใช้การปรับปรุง OTA ในอนาคต

โปรดทราบว่าการอัพเดท OTA จะใช้งานได้หาก พาร์ติชั่นทั้งหมดบนอุปกรณ์นั้นไม่มีการแตะต้อง! Magisk สามารถกู้คืน boot.img ดั้งเดิมของคุณได้ แต่ถ้าคุณแก้ไข / system partition ด้วยวิธีใด ๆ เช่น build.prop การแก้ไขด้วยตนเอง OTA จะปฏิเสธที่จะติดตั้ง

คุณสามารถลองใช้การอัปเดต OTA โดยไม่จำเป็นต้องแฟลชรอม fastboot ดั้งเดิมทั้งหมดหากคุณแฟลชเฉพาะพาร์ติชันที่ปรับเปลี่ยนเช่นกะพริบเฉพาะพาร์ติชัน / system จาก ROM fastboot ดั้งเดิมโดยใช้ไฟล์. img ที่เหมาะสมจาก ROM ดั้งเดิม ไฟล์.

ดังนั้นเมื่อการอัพเดท OTA ใหม่พร้อมใช้งานที่คุณต้องการติดตั้งคุณต้องเปิด Magisk Manager แล้วแตะ“ ถอนการติดตั้ง> เรียกคืนรูปภาพ” แต่ยังไม่ต้องรีบูทอุปกรณ์

ปิด Magisk และไปที่การตั้งค่า> อุปกรณ์> การอัปเดตระบบและติดตั้งการอัปเดต OTA เมื่อการอัปเดตดาวน์โหลดแล้วการอัปเดตจะเริ่มขึ้นในสองขั้นตอน เราขอแนะนำให้ใส่หม้อกาแฟและอาจสนุกกับเกม Madalin Stunt Cars 2 อย่างรวดเร็วหรือลองทำอย่างดีที่สุดใน The Impossible Quiz (ขอให้ โชคดี!)

หลังจากขั้นตอนการอัปเดตสมบูรณ์แล้วระบบจะขอให้รีสตาร์ท อย่ารีสตาร์ทอุปกรณ์ของคุณ เรียกใช้ Magisk Manager อีกครั้งจากนั้นแตะติดตั้ง> ติดตั้ง> ติดตั้งเพื่อไม่ใช้งานสล็อต (หลัง OTA) และจากนั้นให้คุณดำเนินการรีบูต

หลังจาก Xiaomi Mi A2 ของคุณรีบูทแล้วคุณควรมีเวอร์ชั่น Android ที่อัปเดตโดย Magisk ยังคงไม่ทำงาน

การแก้ไขปัญหา

หมายเหตุ: ก่อนที่จะดำเนินการใด ๆ กับการดำเนินการเหล่านี้คุณต้องปิดการใช้งานความปลอดภัยหน้าจอใด ๆ ที่คุณมีในอุปกรณ์ของคุณ (ล็อคหน้าจอ, PIN, รหัสผ่าน, ลายนิ้วมือ ฯลฯ ) เนื่องจากคุณเสี่ยงต่อการเข้ารหัสข้อมูลของคุณ ขอแนะนำเป็นอย่างยิ่งให้สร้างการสำรองข้อมูลก่อน

หากคุณไม่ปฏิบัติตามคู่มือนี้อย่างพิถีพิถันคุณอาจประสบปัญหาบางอย่าง

เมื่อพบเวอร์ชันใหม่ตัวอัปเดตจะตรวจสอบว่าพาร์ติชันทั้งหมดในอุปกรณ์นั้นไม่ถูกแตะต้อง ถ้ามีพาร์ติชันที่ได้รับการแก้ไข OTA updater จะไม่ทำการติดตั้งต่อไป

โดยทั่วไปพาร์ติชั่นทั้งสองที่ถูกดัดแปลงโดยผู้ใช้ modding คือพาร์ติชั่นบู๊ต (นั่นคือที่ติดตั้ง Magisk และ TWRP) และพาร์ติชั่นระบบ (เมื่อคุณเปลี่ยนไฟล์ปรับแต่ง, เพิ่มหรือลบแอพระบบ ฯลฯ )

พาร์ติชันระบบที่ถูกปรับเปลี่ยนโดยใช้โมดูล Magisk นั้นไม่ถูกแตะต้องอย่างมีประสิทธิภาพเพราะ Magisk ลงทะเบียนการเปลี่ยนแปลงทั้งหมดไปยัง / ระบบในไฟล์ในพาร์ติชั่นข้อมูล / จากนั้นหลอกให้ Android เชื่อว่าการเปลี่ยนแปลงเหล่านั้นถูกนำไปใช้จริง

พาร์ติชันสำหรับเริ่มระบบแทนได้รับการแก้ไขจริง ๆ แต่ถ้าคุณติดตั้ง Magisk ตามคู่มือนี้ Magisk จะบันทึกสำเนาของพาร์ติชันสำหรับเริ่มระบบที่ไม่มีการแตะต้องและการคืนค่าก่อนที่จะใช้การปรับปรุง OTA จะทำให้การอัปเดต

ตอนนี้ถ้าคุณไม่ทำตามคำแนะนำนี้เพื่อติดตั้ง Magisk และติดตั้งด้วยวิธีอื่น Magisk สามารถเตือนคุณว่าไม่สามารถคืนค่า boot.img ดั้งเดิม (พาร์ติชันสำหรับบูต) เมื่อคุณพยายามใช้การปรับปรุง OTA

ในการแก้ไขปัญหานี้คุณสามารถแฟลชโดยตรง boot.img วานิลลา (ดั้งเดิมไม่มีการแก้ไขไม่ถูกแตะต้อง) นำมาจากจุดที่ 6 ของคู่มือนี้โดยใช้คำสั่งเหล่านี้:

 fastboot getvar ปัจจุบันช่อง fastboot แฟลช boot_? boot.img 

คำสั่งแรกจะบอกคุณว่าช่องเสียบที่ใช้อยู่ในปัจจุบันคืออะไร ( a หรือ b ) คำสั่งที่สองจะกะพริบการบู๊ตดั้งเดิมลงในโทรศัพท์ แต่คุณต้องเปลี่ยน“?” ในคำสั่งด้วย a หรือ b (เช่น สล็อตปัจจุบันที่คำสั่งแรกระบุไว้)

โปรดจำไว้ว่ารุ่นของไฟล์ boot.img ต้องสอดคล้องกับรุ่นบิลด์ของ Android ที่กำลังใช้งานอยู่ในโทรศัพท์ของคุณ

หากการอัปเดต OTA ยังคงปฏิเสธที่จะนำไปใช้คุณอาจเปลี่ยนบางสิ่งบางอย่างในพาร์ติชัน / ระบบโดยตรง (ตัวอย่างเช่นคุณเปลี่ยนแปลงบางสิ่งบางอย่างใน build.prop โดยไม่ต้องใช้โมดูล Magisk เพื่อทำสิ่งนี้)

ในกรณีนี้คุณต้องแฟลช system.img ในโทรศัพท์ด้วยคำสั่งเหล่านี้:

 fastboot getvar ปัจจุบันช่อง fastboot แฟลช system_? system.img 

และเช่นเดียวกับก่อนหน้านี้คำสั่งแรกจะบอกคุณถึงช่องด้านขวาเพื่อใช้แทน“?” ในคำสั่งที่สอง

ที่นี่คุณสามารถค้นหา system.img ที่แยกออกมาจากการอัปเดต OTA zip (รวมถึงไฟล์. img อื่น ๆ ภายในนั้น):

  • 9.6.8.0 (กันยายน 2018) การถ่ายโอนข้อมูลการปรับปรุง OTA เป็นไฟล์. img
  • 9.6.6.0 (สิงหาคม 2018) การถ่ายโอนข้อมูลการปรับปรุง OTA เป็นไฟล์. img

หากคุณต้องการที่จะได้รับ system.img ด้วยตัวเองคุณสามารถค้นหาได้ภายในภาพ fastboot แต่โดยทั่วไปแล้วพวกเขาจะไม่ได้รับการปรับปรุงรายเดือนเช่นการปรับปรุง OTA แต่คุณสามารถแตก system.img ได้โดยตรงจากรหัสอัปเดต OTA ที่พบในเธรดนี้โดยใช้สคริปต์ Python ที่นี่

เพื่อให้สคริปต์ Python ทำงานใน Debian / Ubuntu และอนุพันธ์คุณต้องดาวน์โหลดทั้ง“ extract_android_ota_payload.py” และ“ update_metadata_pb2.py” ให้คุณสมบัติการดำเนินการแล้วติดตั้งแพคเกจ“ python-protobuf” หลังจากนี้คุณสามารถให้คำสั่งนี้เพื่อคลายไฟล์ payload.bin (ซึ่งคุณต้องคลายบีบอัดจาก zip การอัพเดท OTA):

 ./extract_android_ota_payload.py /path/to/payload.bin 

สิ่งนี้จะแตกในไดเรกทอรีปัจจุบันไฟล์. img ทั้งหมดภายใน payload.bin รวมถึง system.img

ฉันไม่ทราบวิธีดำเนินการใน Windows คุณอาจต้องติดตั้ง Python2 รุ่นล่าสุดและสคริปต์จะทำงาน

เป็นทางเลือกสุดท้ายคุณสามารถแฟลชโดยตรงกับ MiFlash ภาพ fastboot ล่าสุดที่มีอยู่ (แม้ว่าจะเก่ากว่าเวอร์ชั่นปัจจุบันของคุณ) ใช้สคริปต์“ flash_all.bat ” แต่ก่อนทำการสำรองข้อมูลของคุณเนื่องจากโทรศัพท์จะถูกรีเซ็ตอย่างสมบูรณ์

หากคุณไม่ต้องการเสี่ยงต่อการไม่ทำการสำรองข้อมูลให้ใช้สคริปต์“ flash_all_except_storage.bat ” เมื่อมีการกระพริบดังนั้นคุณจะเก็บข้อมูลทั้งหมดของคุณไว้ แต่ถูกเตือนว่าบางครั้งคุณจะไม่สามารถเข้าถึงข้อมูลได้อีกต่อไป เนื่องจากปัญหาการเข้ารหัส

หลังจากแฟลชคุณสามารถเริ่มทำตามคำแนะนำจากจุดที่ 5 หรือ 6

มันไม่น่าจะเป็นปัญหาในการลดรุ่นการสร้างผ่าน fastboot ตราบใดที่เวอร์ชันหลักของ Android ยังคงเหมือนเดิม (Oreo 8.1 ในขณะนี้)

ไฟล์การบูตและแพทช์ดั้งเดิมสำหรับ Mi A2 จัสมิน (ไม่ใช่สำหรับใช้กับ Mi A2 Lite daisy คุณสามารถค้นหาไฟล์สำหรับเดซี่ในส่วนแรกของคู่มือนี้)

  • patched_boot 9.6.9.0 (อัปเดตกรกฎาคม) - แพตช์ด้วย Magisk 17.1
  • patched_boot 9.6.10.0 (อัปเดตสิงหาคม) - แพทช์กับ Magisk 17.1
  • boot.img ดั้งเดิม 9.6.9.0 (อัพเดทล่าสุด) - นำมาจาก fastboot ROM
  • boot.img 9.6.10.0 ดั้งเดิม (อัพเดตล่าสุด) - นำมาจาก fastboot ROM

บทความที่น่าสนใจ