La función Configuración firmada permite incorporar la configuración de restricciones de interfaces que no pertenecen al SDK en los APK. Esto permite quitar de la lista negra interfaces específicas que no pertenecen al SDK para que AndroidX las use de forma segura. De esta manera, el equipo de AndroidX podrá agregar compatibilidad. para conocer las funciones nuevas de las versiones de Android que ya se lanzaron. Sí compatible con Android 10 y versiones posteriores.
Admitir correctamente Signed Config garantiza que las bibliotecas de AndroidX funcionen correctamente en los dispositivos en el futuro.
No es posible personalizar esta función. Es totalmente compatible con AOSP y no requiere ningún esfuerzo del OEM para admitirla.
Ejemplos y fuente
La implementación de la función se encuentra en el servidor del sistema, en
frameworks/base/services/core/java/com/android/server/signedconfig
El CTS
la prueba CtsSignedConfigHostTestCases
incluye un ejemplo de uso y un ejemplo
configuración en
cts/hostsidetests/signedconfig/app/version1_AndroidManifest.xml
Implementación
No se requiere ningún esfuerzo para admitir la función y no hay hardware específico. y los requisitos de cumplimiento.
La función utiliza dos claves de metadatos de aplicación para incorporar la configuración y un
firma dentro de los APK. Esas claves son android.settings.global
y
android.settings.global.signature
Si las bibliotecas de AndroidX requieren
interfaces que no pertenecen al SDK se quitarán de la lista negra en el futuro, los valores de
el equipo de Android publicará estas claves como parte de AndroidX.
Las claves de metadatos del APK android.settings.global
y
android.settings.global.signature
contienen datos codificados en Base64. El valor
para la clave android.settings.global
son los valores de configuración codificados en JSON a los que se aplicarán
la configuración global en SettingsProvider
. El valor de
android.settings.global.signature
es una firma ECDSA-p256 de los datos JSON.
La firma se usa para verificar el origen de los datos de configuración.
La función no es visible para el usuario.
Personalización
La función no está pensada para la personalización. No se recomienda a los OEM modificar la función, incluido el reemplazo de claves, Cualquier cambio que hagas provoque que AndroidX no funcione correctamente en los dispositivos afectados en la en el futuro.
Validación
La prueba de CTS CtsSignedConfigHostTestCases
verifica la implementación de la función.
Para probar la función manualmente, instala el APK adecuado y
inspecciona el resultado de adb logcat
:
$ adb install CtsSignedConfigTestAppV1.apk
...
$ adb logcat
...
I SignedConfig: Verified config using production key
...