Android 9 Pie นำเสนอข้อจำกัด API ที่ซ่อนอยู่ และตอนนี้ Android 11 จะเพิ่มข้อจำกัดเหล่านั้นเพื่อลบการบายพาส meta-reflection
สำหรับผู้ที่ไม่รู้จัก Google ได้เปิดตัวการเปลี่ยนแปลงที่ค่อนข้างน่ารำคาญใน Android 9 Pie ซึ่งเกี่ยวข้องกับนักพัฒนาที่กระตือรือร้นที่ต้องการขยายขอบเขตของสิ่งที่เป็นไปได้ใน Android แน่นอนว่าฉันกำลังพูดถึงการเพิ่มบัญชีดำ API ที่ซ่อนอยู่ ด้วยความตั้งใจที่จะส่งเสริมความเสถียรของแอปพลิเคชัน Google ได้บล็อกการเข้าถึง API ที่ซ่อนอยู่ส่วนใหญ่ - API ที่มีอยู่ในเฟรมเวิร์ก Android แต่ไม่มีเอกสารใน Android SDK API เหล่านี้สามารถเข้าถึงได้ผ่านการสะท้อนกลับจนถึง Android 9 Pie และในปัจจุบันยังคงสามารถเข้าถึงได้โดยใช้วิธีแก้ปัญหาการสะท้อนกลับเมตา
หากคุณไม่รู้ว่าฉันกำลังพูดถึงอะไร คุณก็ควรจะทำ อ่านบทความที่ฉันเขียน ไม่กี่เดือนที่ผ่านมาเกี่ยวกับเรื่องนี้ มันจะอธิบายทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับการสะท้อนเมตาและวิธีการทำงาน ขออภัย ดูเหมือนว่า Google จะสังเกตเห็นวิธีแก้ปัญหานี้แล้ว (อ๊ะ) ในข้อตกลงใหม่กับ AOSP นั้น Google ได้เปิดตัวโค้ดเพื่อ "ทำให้" การตรวจสอบ API ที่ซ่อนอยู่ของ Android แข็งขึ้น โดยพื้นฐานแล้วหมายความว่าการสะท้อนเมตาจะไม่ทำงานอีกต่อไป
แน่นอนว่าสิ่งนี้จะไม่ส่งผลกระทบต่อทุกแอป เช่นเดียวกับบัญชีดำ API ดั้งเดิม เฉพาะแอปที่กำหนดเป้าหมายเป็น Android 11 (API ระดับ 30) หรือใหม่กว่าเท่านั้นที่จะได้รับผลกระทบ คุณยังคงกำหนดเป้าหมาย API ระดับ 29 หรือต่ำกว่าได้ และใช้การสะท้อนเมตาได้ ด้วย Play Store ข้อกำหนด SDK เป้าหมายขั้นต่ำที่เพิ่มขึ้นอย่างต่อเนื่องแม้ว่านี่จะไม่ใช่วิธีแก้ปัญหาที่ถูกต้องอีกต่อไป
ในขณะนี้ ฉันไม่ทราบวิธีแก้ปัญหาสำหรับแอปที่กำหนดเป้าหมายเป็น API 30 อย่างไรก็ตาม Android 11 นั้นยังอีกยาวไกล ดังนั้นจึงมีโอกาสที่ดีที่บางคนจะพบวิธีในการกู้คืนการเข้าถึง ในระหว่างนี้ หากคุณใช้ API ที่ซ่อนอยู่ คุณอาจต้องการ ยื่นคำร้องขอให้เปิดเผยต่อสาธารณะ ในระบบปฏิบัติการ Android 11 หากคุณเก่งในการวิเคราะห์ C++ และ Java และคุณต้องการที่จะ "แก้ไข" สถานการณ์บัญชีดำเล็กๆ น้อยๆ นี้ ดูการกระทำที่เกี่ยวข้อง.