กำลังดำเนินการ Config ที่ลงนามแล้ว

คุณลักษณะ Signed Config ช่วยให้สามารถฝังการกำหนดค่าข้อจำกัดอินเทอร์เฟซที่ไม่ใช่ SDK ใน APK ซึ่งช่วยให้ลบอินเทอร์เฟซที่ไม่ใช่ SDK เฉพาะออกจากบัญชีดำ เพื่อให้ AndroidX ใช้งานได้อย่างปลอดภัย ซึ่งช่วยให้ทีม AndroidX เพิ่มการสนับสนุนคุณลักษณะใหม่ๆ ในเวอร์ชัน Android ที่เผยแพร่ไปแล้วได้ รองรับใน Android 10 และใหม่กว่า

การรองรับ Signed Config อย่างเหมาะสมช่วยให้แน่ใจว่าไลบรารี AndroidX จะทำงานอย่างถูกต้องบนอุปกรณ์ในอนาคต

ไม่สามารถปรับแต่งคุณสมบัตินี้ได้ ได้รับการสนับสนุนอย่างเต็มที่ใน AOSP และไม่ต้องใช้ความพยายามของ OEM ในการสนับสนุน

ตัวอย่างและที่มา

การใช้งานคุณลักษณะอยู่ในเซิร์ฟเวอร์ระบบที่ frameworks/base/services/core/java/com/android/server/signedconfig การทดสอบ CTS CtsSignedConfigHostTestCases ประกอบด้วยตัวอย่างการใช้งาน และการกำหนดค่าตัวอย่างใน cts/hostsidetests/signedconfig/app/version1_AndroidManifest.xml

การดำเนินการ

ไม่จำเป็นต้องใช้ความพยายามใดๆ ในการสนับสนุนคุณลักษณะนี้ และไม่มีข้อกำหนดฮาร์ดแวร์เฉพาะ

คุณลักษณะนี้ใช้คีย์ข้อมูลเมตาของแอปพลิเคชันสองคีย์เพื่อฝังการกำหนดค่าและลายเซ็นภายใน APK คีย์เหล่านั้นคือ android.settings.global และ android.settings.global.signature หากหรือเมื่อไลบรารี AndroidX ต้องการให้ลบอินเทอร์เฟซที่ไม่ใช่ SDK ออกจากบัญชีดำในอนาคต ค่าสำหรับคีย์เหล่านี้จะถูกเผยแพร่โดยทีม Android และ/หรือเป็นส่วนหนึ่งของ AndroidX

คีย์ข้อมูลเมตาของ APK android.settings.global และ android.settings.global.signature ทั้งคู่มีข้อมูลที่เข้ารหัส base-64 ค่าสำหรับคีย์ android.settings.global คือค่าการกำหนดค่าที่เข้ารหัส JSON เพื่อใช้กับการตั้งค่าส่วนกลางใน SettingsProvider ค่าสำหรับ android.settings.global.signature คือลายเซ็น ECDSA-p256 ของข้อมูล JSON ลายเซ็นจะใช้เพื่อตรวจสอบที่มาของข้อมูลการกำหนดค่า

คุณลักษณะนี้ไม่ปรากฏให้ผู้ใช้เห็น

การปรับแต่ง

คุณลักษณะนี้ไม่ได้มีไว้สำหรับการปรับแต่ง OEM ไม่แนะนำให้แก้ไขคุณลักษณะนี้ ซึ่งรวมถึงการเปลี่ยนคีย์ การเปลี่ยนแปลงใดๆ ที่เกิดขึ้นอาจทำให้ AndroidX ทำงานไม่ถูกต้องบนอุปกรณ์ที่ได้รับผลกระทบในอนาคต

การตรวจสอบความถูกต้อง

การทดสอบ CTS CtsSignedConfigHostTestCases จะตรวจสอบการใช้งานคุณลักษณะ

คุณยังสามารถทดสอบคุณสมบัติด้วยตนเองโดยติดตั้ง APK ที่เหมาะสมและตรวจสอบเอาต์พุต adb logcat :

$ adb install CtsSignedConfigTestAppV1.apk
...
$ adb logcat
...
I SignedConfig: Verified config using production key
...