İmzalı Yapılandırmayı Uygulama

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