İmzalı Yapılandırma özelliği, APK'lara SDK olmayan arabirim kısıtlamalarının yapılandırmasını yerleştirmeye izin verir. Bu, AndroidX'in güvenli bir şekilde kullanmasına izin vermek için belirli SDK olmayan arayüzlerin kara listeden kaldırılmasına izin verir. Bu, AndroidX ekibinin halihazırda yayınlanmış olan Android sürümlerinde yeni özellikler için destek eklemesine olanak tanır. Android 10 ve sonraki sürümlerde desteklenir.
Uygun şekilde desteklenen Signed Config, 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 tamamen desteklenir ve onu desteklemek için OEM çabası gerektirmez.
Örnekler ve kaynak
Özellik uygulaması, frameworks/base/services/core/java/com/android/server/signedconfig
adresindeki sistem sunucusundadır. CTS testi CtsSignedConfigHostTestCases
, cts/hostsidetests/signedconfig/app/version1_AndroidManifest.xml
içinde örnek kullanım ve örnek yapılandırma içerir.
uygulama
Özelliği desteklemek için herhangi bir çaba gerekmez ve belirli bir donanım gereksinimi yoktur.
Bu özellik, yapılandırmayı gömmek 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
. AndroidX kitaplıkları gelecekte SDK olmayan arayüzlerin kara listeden kaldırılmasını gerektiriyorsa veya gerektiğ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
her ikisi de base-64 ile kodlanmış 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 bir ECDSA-p256 imzasıdır. İmza, yapılandırma verilerinin kaynağını doğrulamak için kullanılır.
Özellik kullanıcı tarafından görülemez.
özelleştirme
Özellik özelleştirme için tasarlanmamıştır. OEM'lerin, anahtarları değiştirmek de dahil olmak üzere özelliği değiştirmeleri önerilmez. Üzerinde yapılacak herhangi bir değişiklik, 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ükleyerek ve 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
...