İmzalı Yapılandırmayı Uygulama

İ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
...