Zip Flashable นำ Xposed Framework ที่ไม่เป็นทางการมาสู่ Android 7.1 Nougat

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

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

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

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

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

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


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

ต้นฉบับที่พัฒนาขึ้นหลัง Xposed Framework นักพัฒนาที่ได้รับการยอมรับอาวุโส rovo89 ได้รับการตอบสนองต่อ Github กับความคิดของเขาเกี่ยวกับการพัฒนาล่าสุดเหล่านี้

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

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

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

เขาไปที่:

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

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

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

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


ดาวน์โหลด Unpicial Xposed Framework สำหรับ Nougat บนฟอรัม