Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Implementación de configuración firmada

La función de configuración firmada permite incorporar la configuración de restricciones de interfaz que no pertenecen al SDK en los APK. Esto permite eliminar interfaces específicas que no pertenecen al SDK de la lista negra, para permitir que AndroidX las use de forma segura. Esto permite al equipo de AndroidX agregar soporte para nuevas funciones en las versiones de Android que ya se han lanzado. Es compatible con Android 10 y versiones posteriores.

La compatibilidad adecuada con Signed Config garantiza que las bibliotecas de AndroidX funcionarán 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 admitirlo.

Ejemplos y fuente

La implementación de características se encuentra en el servidor del sistema en frameworks/base/services/core/java/com/android/server/signedconfig . El CTS prueba CtsSignedConfigHostTestCases incluye Uso de ejemplo, y un ejemplo de 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 requisitos de hardware específicos.

La función utiliza dos claves de metadatos de la aplicación para incorporar la configuración y una firma dentro de los APK. Esas llaves son android.settings.global y android.settings.global.signature . Si las bibliotecas de AndroidX requieren que las interfaces que no sean SDK se eliminen de la lista negra en el futuro, los valores de estas claves serán publicados por el equipo de Android y / o como parte de AndroidX.

Las teclas de APK de metadatos android.settings.global y android.settings.global.signature ambos contienen datos de base-64 codificado. El valor de la clave android.settings.global son los valores de configuración de JSON-codificados que han de aplicarse a la configuración global en SettingsProvider . El valor para android.settings.global.signature es una firma ECDSA-P256 de los datos JSON. La firma se utiliza 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á destinada a la personalización. Se desaconseja a los fabricantes de equipos originales que modifiquen la función, incluido el reemplazo de las llaves. Es probable que cualquier cambio haga que AndroidX no funcione correctamente en los dispositivos afectados en el futuro.

Validación

La prueba CTS CtsSignedConfigHostTestCases verifica la implementación de características.

También puede probar la función de forma manual mediante la instalación de un APK apropiado y la inspección de la adb logcat de salida:

$ adb install CtsSignedConfigTestAppV1.apk
...
$ adb logcat
...
I SignedConfig: Verified config using production key
...