İmzalı Yapılandırmayı Uygula

İmzalı Yapılandırma özelliği, APK'lara SDK dışı arayüz kısıtlamalarının yapılandırılmasına izin verir. Bu, AndroidX'in bunları güvenli bir şekilde kullanmasına olanak sağlamak için SDK olmayan belirli arayüzlerin kara listeden kaldırılmasına olanak tanır. Bu, AndroidX ekibinin halihazırda yayınlanmış olan Android sürümlerine yeni özellikler için destek eklemesine olanak tanır. Android 10 ve sonraki sürümlerde desteklenir.

Signed Config'in düzgün bir şekilde desteklenmesi, AndroidX kitaplıklarının gelecekte cihazlarda doğru şekilde çalışmasını sağlar.

Bu özelliğin özelleştirilmesi mümkün değildir. AOSP'de tam olarak desteklenir ve desteklenmesi için herhangi bir OEM çabası gerektirmez.

Örnekler ve kaynak

Özelliğin uygulanması 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 dosyasında örnek bir yapılandırmayı içerir.

Uygulama

Özelliğin desteklenmesi için herhangi bir çabaya gerek yoktur ve özel bir donanım gereksinimi yoktur.

Bu özellik, yapılandırmayı ve APK'ların içine bir imzayı yerleştirmek için iki uygulama meta veri anahtarı kullanır. Bu anahtarlar android.settings.global ve android.settings.global.signature . AndroidX kitaplıkları gelecekte SDK olmayan arayüzlerin kara listeden kaldırılmasını gerektirirse, bu anahtarlara ilişkin değerler Android ekibi tarafından ve/veya AndroidX'in bir parçası olarak yayınlanacaktır.

APK meta veri anahtarlarının her ikisi de android.settings.global ve android.settings.global.signature , base-64 kodlu verileri 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. İmza, yapılandırma verilerinin kaynağını doğrulamak için kullanılır.

Bu özellik kullanıcı tarafından görülemez.

Özelleştirme

Bu özellik özelleştirme amaçlı değildir. OEM'lerin, anahtarların değiştirilmesi de dahil olmak üzere özelliği değiştirmeleri önerilmez. Bunda yapılacak herhangi bir değişiklik, gelecekte AndroidX'in etkilenen cihazlarda düzgün çalışmamasına neden olabilir.

Doğrulama

CTS testi CtsSignedConfigHostTestCases özelliğin uygulanması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
...