İmzalı Yapılandırma özelliği, SDK olmayan arayüz kısıtlamalarının yapılandırmasının APK'lara yerleştirilmesine olanak tanır. Bu, AndroidX'in güvenli bir şekilde kullanabilmesi için belirli SDK dışı arayüzlerin kara listeden kaldırılmasına olanak tanır. Bu sayede AndroidX ekibi, halihazırda yayınlanmış Android sürümlerinde yeni özellikler için destek ekleyebilir. Android 10 ve sonraki sürümlerde desteklenir.
Signed Config'in düzgün şekilde desteklenmesi, AndroidX kitaplıklarının gelecekte cihazlarda doğru şekilde çalışmasını sağlar.
Bu özellik özelleştirilemez. AOSP'de tam olarak desteklenir ve desteklenmesi için OEM'in herhangi bir çaba göstermesi gerekmez.
Örnekler ve kaynak
Özellik uygulaması, frameworks/base/services/core/java/com/android/server/signedconfig
konumundaki sistem sunucusundadır. CTS
testi CtsSignedConfigHostTestCases
, örnek kullanım ve cts/hostsidetests/signedconfig/app/version1_AndroidManifest.xml
içinde örnek yapılandırma içerir.
Uygulama
Bu özelliği desteklemek için herhangi bir çaba göstermeniz gerekmez ve belirli donanım şartları yoktur.
Bu özellik, yapılandırmayı ve imzayı APK'lara yerleştirmek için iki uygulama meta verisi anahtarı kullanır. Bu tuşlar android.settings.global
ve android.settings.global.signature
tuşlarıdır. AndroidX kitaplıklarının gelecekte SDK dışı arayüzlerin kara listeden kaldırılmasını gerektirmesi durumunda, bu anahtarların değerleri Android ekibi tarafından ve/veya AndroidX'in bir parçası olarak yayınlanacaktır.
APK meta veri anahtarları android.settings.global
ve android.settings.global.signature
, base64 kodlu veriler içerir. android.settings.global
anahtarının değeri, SettingsProvider
içindeki genel ayarlara uygulanacak JSON kodlu yapılandırma değerleridir. android.settings.global.signature
değeri, JSON verilerinin ECDSA-p256 imzasıdır.
Yapılandırma verilerinin kaynağını doğrulamak için imza kullanılır.
Bu özellik kullanıcılar tarafından görülemez.
Özelleştirme
Bu özellik, özelleştirme için tasarlanmamıştır. OEM'lerin, tuşları değiştirmek de dahil olmak üzere özelliği değiştirmemesi önerilir. Bu pakette yapılacak değişiklikler, AndroidX'in gelecekte etkilenen cihazlarda düzgün çalışmamasına neden olabilir.
Doğrulama
CTS testi, CtsSignedConfigHostTestCases
özellik uygulamasını doğrular.
Uygun bir APK yükleyip adb logcat
çıktısını inceleyerek özelliği manuel olarak da test edebilirsiniz:
$ adb install CtsSignedConfigTestAppV1.apk
...
$ adb logcat
...
I SignedConfig: Verified config using production key
...