İmzalanmış Yapılandırmayı Uygulama

İmzalanmış Yapılandırma özelliği, SDK dışı arayüz kısıtlamalarının APK'lara yerleştirilmesine olanak tanır. Bu şekilde, AndroidX'in güvenli bir şekilde kullanabilmesi için SDK dışı belirli arayüzleri kara listeden kaldırabilirsiniz. Bu sayede AndroidX ekibi, daha önce yayınlanmış Android sürümlerine yeni özellikler için destek ekleyebilir. Android 10 ve sonraki sürümlerde desteklenir.

İmzalanmış Yapılandırmanın düzgün bir ş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 desteklemek için OEM tarafından herhangi bir işlem yapılması gerekmez.

Örnekler ve kaynak

Özellik uygulaması, frameworks/base/services/core/java/com/android/server/signedconfig adresindeki sistem sunucusunda bulunur. CTS testi CtsSignedConfigHostTestCases, cts/hostsidetests/signedconfig/app/version1_AndroidManifest.xml bölgesinde örnek kullanım ve örnek bir yapılandırma içerir.

Uygulama

Özelliği desteklemek için herhangi bir işlem yapmanız gerekmez ve özel donanım gereksinimleri yoktur.

Bu özellik, yapılandırmayı yerleştirmek için iki uygulama meta veri anahtarı ve APK'ların içine bir imza kullanır. Bu anahtarlar android.settings.global ve android.settings.global.signature'dır. AndroidX kitaplıkları SDK dışı arayüzlerin gelecekte kara listeden kaldırılmasını gerektirirse veya gerektirdiğinde, 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. İmza, yapılandırma verilerinin kaynağını doğrulamak için kullanılır.

Özellik kullanıcılara gösterilmez.

Ö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ştirmesi önerilmez. Bu dosyada yapılan değişiklikler, AndroidX'in etkilenen cihazlarda gelecekte düzgün çalışmamasına neden olabilir.

Doğrulama

CtsSignedConfigHostTestCases CTS testi, özellik uygulamasını doğrular.

Ayrıca, uygun bir APK yükleyerek ve adb logcat çıkışını inceleyerek bu özelliği manuel olarak da test edebilirsiniz:

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