İ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 sayede, AndroidX'in bunları güvenli bir şekilde kullanabilmesi için belirli SDK dışı arayüzlerin kara listeden kaldırılması sağlanır. Bu sayede AndroidX ekibi, halihazırda yayınlanmış Android sürümlerine yeni özellikler için destek ekleyebilir. Android 10 ve sonraki sürümlerde desteklenir.

İmzalı yapılandırmanın 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'nin herhangi bir çaba göstermesi gerekmez.

Örnekler ve kaynak

Özellik uygulaması, frameworks/base/services/core/java/com/android/server/signedconfig adresindeki 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

Özelliği desteklemek için herhangi bir çaba gerekmez ve belirli donanım şartları yoktur.

Bu özellik, yapılandırmayı ve imzayı APK'lara yerleştirmek için iki uygulama meta veri 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 bu özelliği değiştirmemesi önerilir. Bu pakette yapılacak değişiklikler, gelecekte etkilenen cihazlarda AndroidX'in 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
...