Xposed Framework อย่างไม่เป็นทางการสำหรับ Android 7.1 Nougat

click fraud protection

ขณะนี้มีไฟล์ zip ที่สามารถแฟลชได้ซึ่งนำ Xposed Framework มาสู่ Android 7.1 Nougat ROM ซิปใช้งานได้กับ OnePlus 3T และโทรศัพท์อื่นๆ อีกมากมาย!

หลังจากหลายเดือนแห่งการรอคอย ในที่สุดเราก็ได้รับการสนับสนุน Xposed Framework สำหรับ Nougat ROMs (แม้ว่าจะไม่เป็นทางการก็ตาม) ขอขอบคุณนักพัฒนาที่มีความสามารถบางคนในฟอรัม XDA ของเรา ตอนนี้คุณสามารถติดตั้ง Xposed Framework บน Android Nougat ROM ผ่านทางไฟล์ zip ที่สามารถแฟลชได้

จนถึงตอนนี้ อนาคตของ Xposed บน Nougat ดูค่อนข้างสั่นคลอนเล็กน้อย Rovo89 - ผู้พัฒนาที่อยู่เบื้องหลัง Xposed Framework - ให้การอัปเดตเกี่ยวกับการรองรับ Android Nougat เมื่อสัปดาห์ที่แล้วเล็กน้อย. Rovo89 ระบุไว้เป็นหลักว่ายังมีงานอีกมากที่ต้องทำเพื่อให้ Xposed ทำงานได้อย่างถูกต้องบน Nougat และเราก็ต้องอดทน

โชคดีที่ดูเหมือนว่าเราได้รับวิธีแก้ปัญหาชั่วคราวสำหรับพวกเราที่รอคอยมาตรการหยุดชั่วคราวอย่างใจจดใจจ่อ ทีม PurifyOS คว้าโมดูล ART ที่นักพัฒนารายนั้นไป บังคับใช้ เคยทำงานอยู่ (และ ที่โพสต์ไว้เมื่อเช้าวันนี้) และปรับให้สามารถติดตั้งได้บน ROM แบบกำหนดเองอื่น ๆ ผ่านทางไฟล์ zip ที่สามารถแฟลชได้ (แทนที่จะต้องนำไปใช้เมื่อคอมไพล์ ROM)

ขณะนี้มีสามเวอร์ชันที่พร้อมใช้งานสำหรับแพลตฟอร์มที่แตกต่างกัน รวมถึง Xposed SDK25 ARM64, Xposed SDK25 แขนและ Xposed SDK25 x86. ทีม PurifyOS ได้ทดสอบ Xposed เวอร์ชันใหม่นี้ด้วย OnePlus 3T ที่ใช้ OxygenOS ที่ใช้ Android 7.1 แต่ควรใช้งานได้ โทรศัพท์อื่นๆ ที่ใช้ Android Nougat และผู้ใช้รายงานว่าสามารถติดตั้งบน ROM ต่างๆ ได้สำเร็จ อุปกรณ์ ตัวอย่างเช่น มีผู้ใช้ OnePlus 5 บางรายรายงานว่าใช้งานได้ (ไม่แปลกใจเลยที่ว่ามันทำงานบน OnePlus 3T ก็ได้) แต่ผู้ใช้ที่ใช้ ROM ที่ใช้ AOSP สำหรับ Samsung Galaxy S6 ก็รายงานว่ามันใช้งานได้กับพวกเขา

จะมีสิ่งแปลก ๆ ที่ต้องค้นหาและไม่ใช่ทุกคนที่สามารถจัดการให้มันใช้งานได้ โดยผู้ใช้บางคนประสบปัญหาบังคับปิดและเรื่องแปลกประหลาดอื่น ๆ อย่างไรก็ตาม แม้จะเป็นเช่นนั้น คุณยังคงลองดูได้หากคุณรอการมาถึงของ Xposed บน Nougat นับตั้งแต่ระบบปฏิบัติการ Android เวอร์ชันก่อนหน้าเปิดตัว โมดูล Xposed Framework ที่มีอยู่บางส่วนอาจไม่สามารถทำงานได้ทันที แต่มีรายงานว่าโมดูลที่ได้รับความนิยมอย่างมากเช่น Amplify บางตัวทำงานได้

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


อัปเดต: การตอบสนองของ Rovo89

ต้นฉบับได้รับการพัฒนาภายใต้ Xposed Framework ซึ่งเป็น XDA Senior Recognized Developer โรโว89ได้ตอบสนองต่อ Github ด้วยความคิดของเขาเกี่ยวกับการพัฒนาล่าสุดเหล่านี้

จากประสบการณ์ของฉัน ฉันสามารถบอกคุณได้ว่าการทำให้พื้นฐานเสร็จสิ้นไม่ใช่เรื่องยากจริงๆ แต่ต้องใช้เวลามากในการดูรายละเอียด มันเหมือนกับกฎ 80-20 ยกเว้นว่ามันประมาณ 95-5 หรือมากกว่านั้น

วิธีการเชื่อมต่อที่ฉันออกแบบมาสำหรับรีลีสก่อนหน้านี้ค่อนข้างเสถียรและสามารถนำไปใช้กับรีลีสที่ใหม่กว่าได้เช่นกัน ฉันคิดว่าคุณต้องการเวลาส่วนใหญ่เพื่อตรวจสอบสถานที่ทั้งหมด IsProxyMethod() และ IsDirect() ถูกเรียกและตัดสินใจว่าควรพิจารณาตัวแก้ไขเมธอดใหม่หรือไม่ (เช่น use parameter true หรือไม่). หากคุณไม่ทำเช่นนั้น คุณอาจพลาดสถานที่บางแห่งที่เพิ่งแนะนำการโทรดังกล่าว เช่นเดียวกับวิธีการเช่น InstallStubsForMethod()ซึ่งจำเป็นต้องดำเนินการกับวิธีดั้งเดิมดั้งเดิมแม้ว่าจะถูกเรียกใช้วิธีแบบติดตะขอก็ตาม คุณจะต้องตรวจสอบสถานที่เพิ่มเติมที่อาจเกี่ยวข้องกับเรื่องนี้ ยังอยู่ในช่วงหลายวัน แต่ถ้าคุณพลาดทำ คุณอาจพบข้อขัดข้องที่ไม่ชัดเจนหรือพฤติกรรมไม่เหมาะสมที่แก้ไขจุดบกพร่องได้ยากมาก

นอกจากนั้น คุณยังใช้แนวทางที่ hooks จะทำงานได้อย่างถูกต้องสำหรับ ROM ที่ถูกคอมไพล์ทั้งหมดตั้งแต่เริ่มต้นเท่านั้น ROM ในสต็อกและแม้แต่ ROM แบบกำหนดเองส่วนใหญ่ (ซึ่งไม่รวมพอร์ตของคุณในขณะที่สร้าง) รวมถึงแอปใดๆ ที่อุปกรณ์อาจรวบรวมมาก่อน ดังนั้นคุณจะต้องเริ่มต้นใหม่อีกครั้งโดยใช้อุปกรณ์ที่ถูกเช็ดซึ่งใช้ ROM พิเศษ ถ้าไม่เช่นนั้น การปรับให้เหมาะสม (เช่น อินไลน์) อาจป้องกันไม่ให้มีการเรียกเมธอดเลย และด้วยเหตุนี้ hooks จะไม่ทำงาน สิ่งที่แย่ที่สุดเกี่ยวกับเรื่องนี้ก็คือพฤติกรรมที่แน่นอนจะขึ้นอยู่กับ ROM หรือแม้แต่วิธีที่ผู้ใช้ใช้อุปกรณ์ (ขณะนี้แอปต่างๆ ได้รับการคอมไพล์ตามโปรไฟล์) โมดูลจะล้มเหลวแบบสุ่มและผู้พัฒนาโมดูลจะสงสัยว่าพวกเขาทำอะไรผิด (คำตอบ: ไม่มีอะไรเลย) หากไม่ปฏิบัติตามข้อกำหนดเบื้องต้นทั้งหมด แสดงว่า API นั้นค่อนข้างไม่น่าเชื่อถือ ลองนึกภาพ Google เผยแพร่การอัปเดตที่ OnClickListener ของปุ่มไม่ได้ถูกเรียกในบางครั้ง เว้นแต่ว่าคุณจะรวบรวม ROM ของคุณตั้งแต่เริ่มต้น... สำหรับฉันเป็นการส่วนตัว นี่เป็นข้อจำกัดที่ยิ่งใหญ่

เขาพูดต่อ:

มันไม่สมเหตุสมผลเลยที่จะเผยแพร่ ZIP แบบแฟลชได้เนื่องจากพอร์ตนี้มีไว้สำหรับการคอมไพล์ ROM ใหม่ตั้งแต่เริ่มต้นเท่านั้น.

และอย่างที่ฉันกลัว ไม่มีคำเตือนเดียวว่านี่เป็นพอร์ตที่ไม่สมบูรณ์ซึ่งมักจะไม่ปฏิบัติตามสัญญา API. 😠 เป็นสิ่งที่ไม่ดีสำหรับนักพัฒนาและผู้ใช้ อย่างน้อยพวกเขาควรรู้ว่ามันไม่สมบูรณ์เพื่อที่พวกเขาจะได้ตัดสินใจว่าต้องการสนับสนุน/ใช้งานหรือไม่ ฉันคงไม่กล้าทำอะไรแบบนั้นโดยไม่มีคำเตือนเรื่องอ้วน จริงๆ แล้ว เนื่องจากฉันค่อนข้างจะชอบความสมบูรณ์แบบ ฉันจะไม่เผยแพร่เวอร์ชันที่ไม่สมบูรณ์เลย ความน่าเชื่อถือเป็นสิ่งสำคัญมากสำหรับฉัน

ฉันเพิ่งตรวจสอบบันทึก Git ของฉันและได้เตรียมการเชื่อมต่อพื้นฐาน (เช่นในพอร์ตนี้) ให้พร้อมในเดือนตุลาคม ตั้งแต่นั้นมา ฉันได้ดำเนินการเพื่อขจัดข้อจำกัดต่างๆ เพื่อให้เชื่อถือได้มากขึ้นบน ROM ที่คอมไพล์ล่วงหน้า ฉันสามารถย้ายส่วนที่คอมไพล์ใหม่ได้เช่นกัน อย่างไรก็ตาม นั่นก็ยังไม่เหมาะ ตามที่อธิบายไว้ข้างต้น ขณะนี้เรามี JIT ซึ่งช่วยให้เราสามารถคงการปรับให้เหมาะสมทั้งหมดไว้ได้ มีเพียงการทำให้วิธีการที่ได้รับผลกระทบโดยตรงจากการ hooking เท่านั้น (และอาจคอมไพล์ใหม่ได้) การดำเนินการนี้ค่อนข้างท้าทาย เนื่องจากเป็นมากกว่าการคัดลอกและวาง และจนกว่าจะไม่เสร็จสิ้น ฉันจะไม่เผยแพร่อะไรเลย 9 เดือนสำหรับสิ่งนั้น (จนถึงตอนนี้) เป็นเวลาที่ยาวนานมาก ฉันรู้ แต่เดี๋ยวก่อน มันเป็นเวลาว่างของฉัน และเช่น เนื่องจากจะย้ายไป อพาร์ทเมนต์ใหม่ ฉันไม่สามารถทำงานกับ Xposed ได้เป็นเวลาหลายเดือน (!) เลย และมีเวลาจำกัดมากเท่านั้น

เราควรทำให้ชัดเจนว่าการพัฒนาล่าสุดเหล่านี้ไม่ใช่ "Xposed" ที่แท้จริงที่คุณทุกคนรู้จัก รักนะ แต่ในทางปฏิบัติแล้วพวกมันอนุญาตให้คุณใช้โมดูล Xposed Framework บางตัวบน Android ได้ในตอนนี้ ตังเม. เราไม่ผิดที่คุณไม่รอ Xposed Framework สำหรับ Android เวอร์ชันอย่างเป็นทางการ เสถียรกว่า และเข้ากันได้มากกว่า Nougat แต่เราต้องการทำให้ชัดเจนว่าการทำซ้ำนี้เป็นเพียงมาตรการชั่วคราวที่มีจุดมุ่งหมายเพื่อสนองความต้องการของผู้ใช้บางรายเท่านั้น ตอนนี้. ไม่น่าจะเป็นวิธีที่ Xposed จะได้รับการจัดการในอนาคต


ดาวน์โหลด Xposed Framework อย่างไม่เป็นทางการสำหรับ Nougat บนฟอรัม XDA