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