İmzalı Yapılandırmayı Uygulama

İmzalı Yapılandırma özelliği, SDK dışı arayüz kısıtlamalarının yapılandırmasının APK'lara yerleştirilmesine izin verir. Bu, AndroidX'in bunları güvenle kullanmasına izin vermek için belirli SDK olmayan arayüzleri kara listeden kaldırmaya izin verir. Bu, AndroidX ekibinin daha önce piyasaya sürülen Android sürümlerinde yeni özellikler için destek eklemesine olanak tanır. Android 10 ve sonraki sürümlerde desteklenmektedir.

İmzalanmış Yapılandırmayı uygun şekilde desteklemek, 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 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 , örnek kullanım ve cts/hostsidetests/signedconfig/app/version1_AndroidManifest.xml örnek bir yapılandırma içerir.

Uygulama

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

Ö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 . AndroidX kitaplıkları SDK dışı arabirimlerin gelecekte kara listeden kaldırılmasını gerektiriyorsa veya 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 olarak kodlanmış verileri içerir. android.settings.global anahtarının değeri, SettingsProvider genel ayarlara uygulanacak JSON kodlu yapılandırma değerleridir. Değeri android.settings.global.signature JSON bir veri ECDSA-p256 imzadı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 amaçlı değildir. OEM'lerin, anahtarların değiştirilmesi de dahil olmak üzere özelliği değiştirmesi ö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.

Ayrıca, 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
...