Notes de version d'Android 12 et Android 12L

Cette page récapitule les principales fonctionnalités des versions Android 12 et Android 12L, et fournit des liens vers des informations supplémentaires. Ces résumés de fonctionnalités sont organisés en fonction de l'emplacement de la documentation de la fonctionnalité sur ce site.

Architecture

Mises à jour de la classe AlwaysOnHotwordDetector

À partir d'Android 12, la classe AlwaysOnHotwordDetector, y compris sa méthode de fabrique, android.service.voice.VoiceInteractionService.createAlwaysOnHotwordDetector(), est une API système (@SystemApi) au lieu d'une API publique. La classe AlwaysOnHotwordDetector est destinée à être utilisée par les applications Assistant avec des autorisations au niveau du système, qui sont généralement groupées avec la version de l'OS. Sous Android 11 et versions antérieures, l'API est protégée par des vérifications qui garantissent que l'appelant est l'application Assistant actuellement active, ce qui rend l'API inutilisable par d'autres applications tierces.

De plus, Android 12 inclut des améliorations de la fonctionnalité de déclenchement par son pour améliorer l'attribution et l'application des autorisations liées à l'utilisation du micro via l'API de déclenchement par son. L'utilisation du micro, y compris l'utilisation indirecte, par exemple via les classes SoundTriggerManager ou AlwaysOnHotwordDetector, est attribuée au package d'origine (application Assistant) qui appelle la classe AlwaysOnHotwordDetector. Cela améliore la confidentialité et la transparence des utilisateurs sur les packages qui utilisent le micro. Sous Android 11 et versions antérieures, l'utilisation du micro est attribuée à l'utilisateur du système, car le package d'origine n'utilise pas directement l'API de déclencheur de son, mais via des services de niveau supérieur résidant dans le processus system_server.

L'impact de ces modifications est le suivant:

  • Les applications non système qui utilisent la classe AlwaysOnHotwordDetector ne parviennent pas à compiler avec l'API Android 12, car l'API a été supprimée de la surface publique.
  • Il est possible que les applications système existantes qui utilisent la classe AlwaysOnHotwordDetector ne soient pas autorisées à utiliser les fonctionnalités de déclencheur sonore au moment de l'exécution. Pour résoudre ce problème et autoriser ces applications à accéder au micro via un déclencheur de son, déclarez les autorisations RECORD_AUDIO et CAPTURE_AUDIO_HOTWORD pour ces applications.

Prise en charge du langage Rust sur Android

Android 12 est désormais compatible avec l'utilisation du code Rust. Une nouvelle section ajoutée à la documentation de configuration fournit des conseils pour le développement sur Android avec Rust.

Pour en savoir plus sur Android Rust, les différents modules et pour voir des exemples (ainsi que pour obtenir des informations sur la configuration de l'IDE), consultez la nouvelle section Android Rust dans la section Présentation d'Android Rust.

En-tête de l'image de démarrage

Android 12 ajoute l'utilisation de l'en-tête d'image de démarrage version 4, qui est l'image de démarrage principale pour les appareils compatibles avec l'architecture Generic Kernel Image (GKI). Android 12 fournit également un boot_signature pour vérifier l'intégrité du noyau et du ramdisk. La vérification, effectuée dans VtsSecurityAvbTest, est requise pour les appareils utilisant l'architecture GKI.

Pour en savoir plus, consultez la page En-tête d'image de démarrage.

Modifications apportées à l'implémentation de bootconfig

La fonctionnalité bootconfig d'Android 12, un mécanisme permettant de transmettre les détails de configuration de la compilation et du bootloader à Android 12, remplace les options de ligne de commande du kernel androidboot.* utilisées avec Android 11 ou version antérieure. Cette fonctionnalité permet de séparer les paramètres de configuration de l'espace utilisateur Android de ceux du noyau.

Pour en savoir plus, consultez Implémenter Bootconfig.

Police personnalisée de remplacement

Avant Android 12, la mise à jour des fichiers de polices installés sur l'appareil dans AOSP (dans la partition /system/fonts) ou les partitions du fournisseur (dans les partitions /product/fonts ou /system/fonts) nécessitait une mise à jour du système de l'OEM. Cette exigence a un impact significatif sur la compatibilité des emoji. Dans Android 12, vous pouvez utiliser le service système FontManager pour gérer les fichiers de polices installés et mettre à jour les fichiers de polices installés sur l'appareil sans mise à jour du système.

Pour en savoir plus sur cette nouvelle fonctionnalité, consultez Implémenter une police de remplacement personnalisée.

Tas DMA-BUF

Dans Android 12, GKI 2.0 remplace l'outil d'allocation ION par des tas DMA-BUF.

Activer les filtres de paramètres régionaux

Android 12 introduit une fonctionnalité que vous pouvez utiliser pour configurer les langues système par défaut et les filtres de paramètres régionaux pour les nouveaux types d'appareils. Vous pouvez ainsi définir la valeur de la propriété de filtre et la langue par défaut via oem/oem.prop lors du calibrage en usine, et configurer des restrictions sans intégrer le filtre à l'image système.

Pour en savoir plus, consultez Activer le filtre de paramètres régionaux.

Ramdisks du fournisseur Flash

Android 12 prend en charge le flash des ramdisks du fournisseur via une commande fastboot qui extrait l'image vendor_boot complète d'un appareil. La commande invite l'outil fastboot côté hôte à lire l'en-tête de démarrage du fournisseur, à recréer l'image et à flasher la nouvelle image. Cette prise en charge inclut les modifications du bootloader et de fastbootd pour obtenir les données nécessaires, telles que la taille et le décalage de la partition.

Pour en savoir plus, consultez la section Flasher des ramdisks de fournisseurs sur la page Fastboot dans l'espace utilisateur.

Gestion des versions de GKI

À partir d'Android 12, la partie de la version Android de la version KMI peut être extraite du noyau et injectée dans le fichier manifeste de l'appareil au moment de la compilation.

Pour en savoir plus, consultez la section Gestion des versions de GKI.

Événements MM : statistiques historiques sur la mémoire

Les appareils qui démarrent sur Android 12 peuvent utiliser mm_events, un ensemble de statistiques liées à la mémoire qui sont capturées périodiquement lorsqu'un système subit une pression de mémoire. mm_events est intégré aux mécanismes de traçage perfetto et ajoute un coût supplémentaire minimal en termes de performances. La collecte des statistiques reste active pendant une période configurable, en capturant des statistiques à intervalles réguliers.

Pour savoir comment utiliser les statistiques mm_events, consultez Événements MM : statistiques historiques sur la mémoire.

Restrictions liées à la fenêtre d'alerte système

Pour améliorer la sécurité de l'écosystème Android, Android 12 a rendu l'acquisition de l'autorisation SYSTEM_ALERT_WINDOW plus difficile et permet aux applications tierces de bloquer les superpositions d'autres applications tierces.

Les applications préinstallées ne reçoivent pas automatiquement l'appOp SYSTEM_ALERT_WINDOW dans Android 12. Il doit être explicitement accordé par l'utilisateur avant qu'une application préinstallée puisse l'utiliser. Les applications système reçoivent toujours l'autorisation par défaut.

Les applications tierces peuvent désactiver l'affichage de superpositions sur elles. Cela fournit un mécanisme de protection contre les attaques de type cloak and dagger. Cette fonctionnalité est disponible pour toutes les applications afin que les applications sensibles à la sécurité, telles que les applications bancaires, puissent se protéger. Pour utiliser cette fonctionnalité, une application doit déclarer l'autorisation HIDE_OVERLAY_WINDOWS dans son fichier manifeste.

HIDE_NON_SYSTEM_OVERLAY_WINDOWS(signature|privileged) est obsolète et remplacé par HIDE_OVERLAY_WINDOWS.

Modifications apportées aux partitions de démarrage du fournisseur

Les appareils Android 12 qui utilisent la version 4 de l'en-tête d'image de démarrage sont compatibles avec plusieurs ramdisks de fournisseurs dans la partition vendor_boot. Ces fragments de ramdisk sont concatenatés de manière séquentielle dans la section de ramdisk du fournisseur. Un tableau de ramdisk du fournisseur décrit la mise en page de la section de ramdisk du fournisseur et les métadonnées de chaque fragment de ramdisk du fournisseur.

En raison des modifications apportées aux partitions de démarrage du fournisseur dans Android 12 et versions ultérieures, vous ne pouvez pas utiliser default comme nom de fragment de ramdisk du fournisseur. Il est désigné comme réservé. L'utiliser pour nommer des fragments de ramdisk du fournisseur n'est pas autorisé en aucune circonstance.

Pour en savoir plus, consultez les sections Partitions de démarrage du fournisseur et Plusieurs ramdisks de fournisseurs.

Audio

Routage combiné des appareils audio

La fonctionnalité de routage combiné des appareils audio permet de diffuser du contenu audio en streaming sur plusieurs appareils audio simultanément. Grâce à cette fonctionnalité, les applications privilégiées peuvent sélectionner plusieurs appareils préférés pour une stratégie particulière via des API système. Les applications peuvent découvrir plus précisément les fonctionnalités des appareils audio à l'aide des API publiques fournies par cette fonctionnalité.

Pour en savoir plus, consultez la page Acheminement combiné des appareils audio.

Mises à jour de la version 7 de l'HAL audio

Pour résoudre les problèmes de rétrocompatibilité, l'AIDL stable sera obligatoire pour toutes les modifications de HAL à partir d'Android 13. Pour préparer et améliorer cette future adoption d'AIDL, des modifications importantes sont apportées à la version 7 de l'HAL Audio dans Android 12.

Pour en savoir plus, consultez la section Mises à jour de la version 7 de l'HAL audio et l'exemple de règle audio.

Appareil photo

Saisie de métadonnées statiques de l'appareil photo pour les appareils pliables

Android 12 introduit l'entrée de métadonnées statiques de l'appareil photo deviceStateOrientationMap, qui permet au HAL de l'appareil photo d'informer le client de l'appareil photo et le framework de l'appareil photo des changements d'orientation du capteur déclenchés par un changement d'état de pliage d'un appareil. Les appareils pliables peuvent éventuellement utiliser une ou plusieurs caméras logiques composées d'appareils physiques avec des orientations de capteur différentes pour différents états de pliage de l'appareil. L'entrée de métadonnées deviceStateOrientationMap permet au framework de la caméra de s'assurer que les transformations de surface de sortie nécessaires sont appliquées lorsque l'ID physique actif change dans les résultats de capture.

Pour en savoir plus, consultez metadata_definitions.xml.

Exigences concernant la prise en charge des extensions de fournisseurs CameraX

Sous Android 12, la propriété ro.camerax.extensions.enabled doit être définie sur true pour les appareils compatibles avec les extensions CameraX. Cela permet de vérifier si un appareil est compatible avec les extensions.

Pour en savoir plus, consultez la section Configurer la bibliothèque du fournisseur sur un appareil.

Prise en charge des capteurs d'appareil photo Quad Bayer

Android 12 introduit des API de plate-forme qui permettent aux applications de tirer parti des appareils équipés de capteurs d'appareil photo ultra haute résolution, généralement avec des motifs bayer à quatre ou neuf pixels qui offrent une flexibilité en termes de qualité d'image et de performances en faible luminosité. Les nouvelles API prennent en charge le comportement de ces capteurs en tenant compte du fait qu'ils peuvent prendre en charge différentes configurations et combinaisons de flux lorsqu'ils fonctionnent en mode "résolution maximale" au lieu du mode "par défaut".

Pour implémenter la prise en charge du HAL de l'appareil photo pour les capteurs d'appareil photo ultra haute résolution, les fabricants d'appareils doivent implémenter des modifications pour les fichiers suivants:

Compatibilité

Exigences concernant la compatibilité avec ADN pour les cartes SIM

À partir d'Android 12, toutes les cartes SIM des appareils utilisés pour les tests CTS doivent être compatibles avec le stockage des numéros abrégés (ADN).

Pour en savoir plus, consultez la section Écran et stockage.

Mises à jour de l'ITS de l'appareil photo

Android 12 introduit diverses mises à jour de la suite de tests d'images de l'appareil photo (ITS), y compris de nouveaux tests et des mises à jour, un refactoring vers Python 3 et l'adoption du framework de test Mobly.

Pour en savoir plus, consultez les notes de version de la suite de tests d'images de l'appareil photo Android 12.

Mises à jour du CDD

Le document de définition de la compatibilité Android 12 s'appuie sur les versions précédentes avec des mises à jour des nouvelles fonctionnalités et des modifications des exigences pour les fonctionnalités publiées précédemment.

Connectivité

Slices de réseau 5G

Android 12 est compatible avec le découpage de réseau 5G, qui consiste à utiliser la virtualisation de réseau pour diviser des connexions réseau uniques en plusieurs connexions virtuelles distinctes qui fournissent différentes quantités de ressources à différents types de trafic. Cela permet aux opérateurs de réseau de consacrer une partie du réseau à la fourniture de fonctionnalités spécifiques à un segment de clients particulier.

Pour en savoir plus, consultez la section Segmentation de réseau 5G.

Profils Companion Device Manager

Les applications qui ciblent Android 12 ou version ultérieure peuvent utiliser des profils d'appareils associés pour se connecter à une montre. L'utilisation d'un profil simplifie le processus d'enregistrement en regroupant l'attribution d'un ensemble d'autorisations spécifiques au type d'appareil dans une seule étape.

Capture d'écran d'un téléphone affichant une invite proposant d'accorder des autorisations

Les autorisations groupées sont accordées à l'application associée une fois que l'appareil se connecte. Elles ne sont valables que lorsque l'appareil est associé. La suppression de l'application ou de l'association supprime les autorisations.

Pour en savoir plus, consultez la section Profils d'appareils associés.

Droit d'accès au service IMS (TS.43)

Android 12 est compatible avec la configuration des droits d'accès aux services TS.43, une spécification GSMA qui définit l'étape de validation des droits d'accès pour l'activation de services, y compris la voix sur Wi-Fi (VoWiFi), la voix sur LTE (VoLTE), les SMS sur IP (SMSoIP), l'activation de services sur l'appareil (ODSA) des appareils compagnons eSIM (associés à l'appareil à l'origine de la demande) et les informations sur le forfait de données.

Pour en savoir plus, consultez la section Droit d'accès au service IMS.

Enregistrement unique IMS

Android 12 prend en charge un seul modèle d'enregistrement pour fournir les fonctionnalités MMTEL et RCS. Ce modèle permet aux appareils de gérer toutes les fonctionnalités IMS via un seul enregistrement IMS fourni par le ImsService de l'appareil. Par rapport à un modèle d'enregistrement double, où plusieurs enregistrements IMS sont gérés sur un seul appareil, l'enregistrement unique réduit le trafic sur le réseau d'un opérateur et augmente la fiabilité.

Pour en savoir plus, consultez la section Enregistrement unique IMS.

Détection du fuseau horaire basée sur la position

Android 12 inclut la détection du fuseau horaire basée sur la position, une fonctionnalité facultative de détection automatique des fuseaux horaires qui permet aux appareils d'utiliser leurs données de localisation et de carte de fuseau horaire pour déterminer le fuseau horaire actuel.

Pour en savoir plus, consultez la section Détection du fuseau horaire de l'emplacement.

Sélection aléatoire de l'adresse MAC

Android 12 introduit le type de randomisation MAC non persistant, qui permet à Android de re-randomiser les adresses MAC de certains réseaux au début de chaque connexion.

Pour en savoir plus, consultez la section Comportement de la randomisation MAC.

Sélection du réseau

Android 12 introduit un nouveau mécanisme de sélection de réseau à l'aide de la classe NetworkScore. La sélection du réseau affecte la façon dont Android répond aux requêtes réseau de l'application et du système, et influence la façon dont le réseau par défaut d'une application est choisi.

Pour en savoir plus, consultez la section Sélection de réseau.

Notification CallStyle

À partir d'Android 12, nous recommandons aux applications d'utiliser le nouveau style de notification, CallStyle, pour les appels vocaux et vidéo entrants et en cours. Ce style de notification inclut des boutons d'action pour répondre, refuser et raccrocher des appels téléphoniques. Il utilise également le même style axé sur la personne que celui des conversations, ce qui est cohérent avec son comportement consistant à classer les notifications d'appel en haut de la nuance.

Pour que les applications utilisent le style de notification CallStyle, elles doivent utiliser un intent plein écran ou un service de premier plan (avec l'autorisation associée). Ce style classe les notifications d'appels en haut de la nuance. Pour les appels en cours, ce style ajoute un chip à la barre d'état, ce qui permet aux utilisateurs de revenir rapidement à l'application appelante.

Pour en savoir plus, consultez la section Notifications d'appel.

Mises à jour de Passpoint

Android 12 introduit Passpoint R3 et d'autres fonctionnalités Passpoint telles que les conditions d'utilisation, les URL d'informations sur les lieux, les préfixes d'identité décorés et la gestion imminente de la désauthentification.

Pour en savoir plus sur ces fonctionnalités, consultez la section Passpoint (point d'accès 2.0).

Mises à jour de l'accès rapide à Wallet

Sous Android 12 ou version ultérieure, la fonctionnalité d'accès rapide à Wallet est disponible dans le volet plutôt que dans le menu d'alimentation, comme dans Android 11. L'UI Wallet s'exécute désormais dans l'UI du système et se trouve dans frameworks/base/packages/SystemUI/src/com/android/systemui/wallet.

Pour en savoir plus, consultez la section Portefeuille d'accès rapide.

Expérience utilisateur simplifiée pour la connectivité

Android 12 offre une expérience de connectivité simplifiée facultative qui aide les utilisateurs à mieux comprendre leurs connexions réseau, à passer d'un fournisseur d'accès Internet à un autre et à résoudre les problèmes de connectivité réseau.

Pour en savoir plus, consultez la section Interface utilisateur de la connectivité.

Priorité de la source temporelle

À partir d'Android 12, le framework donne la priorité à la source de temps NTP (Network Time Protocol) par rapport à la source NITZ (Network Identity and Time Zone) par défaut.

Pour découvrir comment configurer et tester la priorité de la source de temps sur votre appareil, consultez la section Priorité de la source de temps.

Appuyez pour désactiver la 2G

Pour améliorer la sécurité, Android 12 introduit un bouton d'activation/de désactivation de la 2G dans les paramètres, qui permet aux utilisateurs de désactiver complètement les connexions mobiles 2G. Le HAL Radio 1.6 doit être implémenté pour cette fonctionnalité.

La fonctionnalité de bascule 2G est activée par défaut. Les opérateurs peuvent désactiver cette fonctionnalité au moment de l'exécution à l'aide de l'indicateur CarrierConfig KEY_HIDE_ENABLE_2G.

Les fabricants d'appareils doivent s'assurer que tous les réseaux sont disponibles lors des appels d'urgence.

Spécifications de la carte UICC

Dans Android 12, pour exécuter les tests de l'API du transporteur CTS, l'appareil doit utiliser une UICC de développeur avec des droits de transporteur CTS conformes aux exigences spécifiées dans la dernière version de la spécification de profil de test GSMA TS.48 tiers.

Pour en savoir plus, consultez la section Préparer la carte UICC.

Concurrency AP/AP Wi-Fi

Android 12 introduit la fonctionnalité de simultanéité AP/AP Wi-Fi, qui permet aux appareils d'afficher un point d'accès tethering Dual (AP+AP) en mode pont.

Pour en savoir plus, consultez la section Compatibilité simultanée des points d'accès Wi-Fi.

Évitement des canaux de coexistence Wi-Fi/mobile

Android 12 introduit la fonctionnalité Évitement des canaux de coexistence Wi-Fi/mobile, qui identifie et empêche l'utilisation de canaux Wi-Fi non sécurisés en cas d'interférence entre les canaux mobiles. Cela inclut des interfaces telles que STA, SoftAp, Wi-Fi Direct (P2P) et Wi-Fi Aware (NAN).

Améliorations du protocole de sécurité Wi-Fi

Android 12 prend en charge WPA3 H2E (Hash-to-Element), le mode de transition WPA2/WPA3-Enterprise et l'indication de désactivation de la transition.

Pour en savoir plus, consultez la section WPA3 et Wi-Fi Enhanced Open.

Concurrency STA/STA Wi-Fi

Android 12 introduit la fonctionnalité de simultanéité STA/STA Wi-Fi, qui permet aux appareils de se connecter à deux réseaux Wi-Fi simultanément.

Pour en savoir plus, consultez la section Cohérence STA/STA Wi-Fi.

Appareils

Nouvelles fonctionnalités automobiles d'Android 12

Pour en savoir plus sur ces nouvelles fonctionnalités, consultez la section Nouveautés pour l'automobile:

Écran

Bloquer les appuis non approuvés

Pour préserver la sécurité du système et offrir une bonne expérience utilisateur, Android 12 permet de bloquer les événements tactiles non approuvés. Cela empêche les applications de consommer des événements tactiles lorsqu'une superposition masque l'application de manière non sécurisée.

Notifications et widgets de conversation

Android 11 permet de personnaliser le comportement et l'emplacement des notifications de conversation dans le volet des notifications en fonction de la priorité et du niveau d'alerte. Vous pouvez ainsi marquer les conversations comme importantes et lancer des bulles spécifiques à la conversation dans l'espace de conversation. S'appuyant sur ces fonctionnalités d'Android 11, la fonctionnalité de widget de conversation d'Android 12 permet aux utilisateurs d'ajouter des widgets de conversation pour les contacts importants sur l'écran d'accueil, ce qui leur permet de reprendre facilement les conversations sans attendre de notification.

Pour en savoir plus, consultez la section Notifications et widgets de conversation.

Flous de fenêtre

Des API publiques sont disponibles dans Android 12 pour implémenter des effets de floutage de fenêtre (comme le floutage en arrière-plan et le floutage derrière). Avec ces API, vous pouvez flouter tout ce qui se trouve derrière votre propre fenêtre. Vous pouvez créer des fenêtres avec des arrière-plans floutés, créant un effet de verre dépoli, ou afficher des fenêtres avec l'ensemble de l'écran flouté derrière elles, créant un effet de profondeur de champ. Vous pouvez également combiner ces deux éléments.

Pour en savoir plus sur cette nouvelle fonctionnalité et découvrir comment l'implémenter, consultez la page Floutage de fenêtre.

Agrandissement de la fenêtre

Dans Android 12, les utilisateurs ayant une déficience visuelle peuvent agrandir n'importe quel élément à l'écran à l'aide de la fonctionnalité d'agrandissement de la fenêtre. L'agrandissement de fenêtre permet aux utilisateurs d'agrandir une partie sélectionnée de l'écran, contrairement à l'utilisation d'une fonction de zoom sur l'ensemble de l'écran. La fenêtre sélectionnée peut être déplacée sur l'écran, ce qui permet d'agrandir différentes parties de l'écran si nécessaire.

Pour en savoir plus, consultez la section Loupe de fenêtre.

Entreprise

Mises à jour de la gestion des appareils

Android 12 inclut les mises à jour d'administration des appareils suivantes:

  • Mise à jour de la ségrégation des données des profils gérés. Sur les appareils personnels avec un profil professionnel, Android 12 supprime l'accès aux identifiants matériels de l'appareil (IMEI, MEID, numéro de série) et fournit un ID unique spécifique à l'inscription qui identifie l'inscription du profil professionnel pour une organisation spécifique. Pour en savoir plus, consultez la section Identifiants de l'appareil.

  • Mises à jour du provisionnement des appareils Android 12 inclut plusieurs modifications apportées au provisionnement des appareils. Pour en savoir plus et obtenir une liste des modifications, consultez les mises à jour d'Android 12.

Graphiques

Gestion du branchement à chaud dans le HAL de Composer

Les fonctionnalités d'affichage (telles que les modes d'affichage et les types de HDR compatibles) peuvent changer de manière dynamique sur les appareils dotés d'écrans connectés en externe (via HDMI ou DisplayPort), tels que les décodeurs Android TV et les appareils OTT (Over The Top). À partir d'Android 12, les modifications apportées au framework prennent en charge la gestion du branchement à chaud et les fonctionnalités d'affichage dynamique.

Pour en savoir plus, consultez la section Gestion de la connexion à chaud dans le HAL Composer.

Composants du système modulaire

Android 13 contient plusieurs nouveaux composants système modulaires mis à jour. Voici les nouveaux modules:

  • ART: ce module vise à améliorer l'expérience Android en proposant aux utilisateurs les dernières optimisations, fonctionnalités et corrections de bugs de l'environnement d'exécution géré.

  • Planification des appareils : ce module contient une logique qui détecte si l'appareil est en veille ou non, et s'il peut être redémarré sans perturber l'utilisateur.

Modifications apportées aux modules existants:

Contenus multimédias

Transcodage de contenus multimédias dans un format compatible

Le transcodage multimédia compatible permet aux appareils d'utiliser des formats multimédias modernes et économes en espace de stockage pour la capture vidéo, tels que HEVC, tout en conservant la compatibilité avec les applications. Grâce à cette fonctionnalité, les fabricants d'appareils peuvent utiliser HEVC au lieu d'AVC par défaut pour améliorer la qualité vidéo tout en réduisant les exigences en termes de stockage et de bande passante. Pour en savoir plus, consultez la section Transcodage multimédia compatible.

Performances

Hibernation des applications

Android 12 permet d'hiberner les applications que l'utilisateur n'utilise pas pendant quelques mois, comme pour la révocation automatique des autorisations.

Pour en savoir plus, consultez la section Hibernation des applications.

Couche d'abstraction de cgroup

La couche d'abstraction du groupe de contrôle (cgroup) d'Android 12 introduit de nouvelles fonctionnalités, telles que la possibilité de définir des contrôleurs cgroup spécifiques comme facultatifs et d'utiliser une nouvelle commande task_profiles qui remplace la commande writepid obsolète. Ce remplacement garantit que les implémentations cgroup sous-jacentes n'ont aucun effet sur les couches supérieures lors de la migration de tâches dans les hiérarchies cgroup. Android 12 introduit également la prise en charge des profils de tâche par niveau d'API.

Pour en savoir plus, consultez la section Cgroup Abstraction Layer (Couche d'abstraction Cgroup).

Autorisations

Autorisations Bluetooth

Android 12 introduit les autorisations Bluetooth suivantes, qui remplacent les autorisations BLUETOOTH et BLUETOOTH_ADMIN:

  • BLUETOOTH_SCAN : permet aux applications de détecter et d'associer les appareils Bluetooth à proximité.
  • BLUETOOTH_ADVERTISE : permet aux applications de diffuser des annonces sur les appareils Bluetooth à proximité.
  • BLUETOOTH_CONNECT : permet aux applications de se connecter aux appareils Bluetooth associés.

Ces autorisations font partie du nouveau groupe d'autorisations d'exécution NEARBY_DEVICES. Ce groupe d'autorisations permet des cas d'utilisation tels que la connexion à une montre connectée sans nécessiter l'autorisation d'exécution LOCATION.

Ces nouvelles autorisations sont compatibles avec les applications et aucune modification n'est requise pour les applications exécutées sur Android 11 ou version antérieure. Pour les anciennes applications ciblant Android 11 ou version antérieure, la plate-forme traduit automatiquement les demandes d'autorisations Bluetooth anciennes en demandes de nouvelles autorisations. Lorsqu'une application est mise à niveau pour cibler Android 12 ou version ultérieure, elle doit demander explicitement les nouvelles autorisations Bluetooth.

Pour en savoir plus sur l'utilisation des autorisations, consultez la section Autorisations Bluetooth.

Indicateurs de confidentialité

Android 12 offre aux utilisateurs une transparence en affichant des indicateurs lorsqu'une application utilise une source de données privée via les autorisations d'accès des caméras et du micro.

App Ops suit à la fois l'état de l'activité et le nombre d'appels d'API individuels, et interagit avec les indicateurs de micro et d'appareil photo d'Android 12 pour indiquer aux utilisateurs quand les applications ont accédé aux données audio et de l'appareil photo sur leurs appareils. Lorsque les utilisateurs cliquent sur les indicateurs du micro ou de l'appareil photo, ils voient quelles applications ont accédé à leurs données.

Cette fonctionnalité est obligatoire pour tous les OEM. Pour en savoir plus, consultez la section Indicateurs de confidentialité.

Position

À partir d'Android 12, les utilisateurs peuvent demander qu'une application n'obtienne qu'une précision approximative lorsqu'elle accède aux informations de localisation.

Cette modification ne doit affecter les applications que lorsqu'elles ciblent Android 12 ou version ultérieure. Toutefois, sur les appareils équipés d'une ancienne version du module PermissionController, ce changement affecte toutes les applications, quelle que soit la version de SDK cible.

Runtime

Vérifications dexpreopt et <uses-library>

Android 12 apporte des modifications au système de compilation pour la compilation anticipée (AOT) des fichiers DEX (dexpreopt) pour les modules Java qui ont des dépendances <uses-library>. Dans certains cas, ces modifications du système de compilation peuvent endommager les compilations.

Pour savoir comment vous préparer aux pannes et comment les résoudre et les atténuer, consultez Dexpreopt et vérifications <uses-library>.

Tests

La suite de tests de compatibilité

Pour Android 12, de nombreux nouveaux modules de clés et de modifications de test sont introduits pour CTS. Pour en savoir plus, consultez les notes de version du CTS.

TV

Service de contrôle HDMI-CEC

Android 12 utilise HDMI-CEC pour contrôler automatiquement les écrans connectés en HDMI lorsqu'un appareil se réveille ou se met en veille.

Pour en savoir plus, consultez la section Service de contrôle HDMI-CEC.

Framework Tuner

Dans Android 12:

  • La partie frontale avec Tuner HAL 1.1 ou version ultérieure est compatible avec la norme DTMB DTV. Les fonctionnalités et paramètres de front-end suivants sont compatibles:

    • DtmbFrontendCapabilities

    • DtmbFrontendSettings

  • L'API du SDK Tuner est compatible avec les nouvelles fonctionnalités de Tuner HAL 1.1, qui est une mise à niveau rétrocompatible de Tuner 1.0.

  • android.media.tv.tuner.TunerVersionChecker.getTunerVersion() vérifie la version du HAL en cours d'exécution.

Mises à jour

Compression APEX

Une fois qu'une mise à jour d'un conteneur Android Pony EXpress (APEX) est installée, sa version préinstallée n'est plus utilisée, mais occupe la même quantité d'espace mémoire. Cet espace occupé reste indisponible. Dans Android 12, la compression APEX minimise cet impact sur le stockage en utilisant un ensemble de fichiers APEX hautement compressés sur des partitions en lecture seule (telles que la partition /system). Pour en savoir plus sur la compression APEX dans Android 12, consultez la section APEX compressés.

Sécurité et commodité de la reprise au redémarrage

Android 12 introduit une prise en charge multi-client améliorée et une fonctionnalité de redémarrage basée sur le serveur. Le processus de reprise au redémarrage (RoR) offre aux utilisateurs une sécurité et une commodité accrues, car les mises à jour OTA peuvent être effectuées pendant les périodes d'inactivité de l'appareil, tandis que les fonctionnalités de mise à jour multi-client et basées sur un serveur d'Android 12 offrent une sécurité de type matériel pour l'appareil.

Pour en savoir plus, consultez la section Reprise au redémarrage.

Répétition du code PIN de la carte SIM avec RoR

Android 12 propose la relecture du code SIM pour une validation fluide du code PIN après un redémarrage déclenché par le RO.Le code SIM est ré-encrypté et stocké chaque fois qu'un utilisateur l'active, le valide ou le modifie.

Pour en savoir plus, consultez la section Replay du code SIM.

Mises à jour virtuelles A/B

Android 12 propose la compression A/B virtuelle sur les partitions créées à partir d'instantanés. Dans Android 12, les partitions pouvant être mises à jour que le bootloader n'utilise pas peuvent être prises en instantané pour économiser de l'espace. Ils peuvent également être compressés. Activer la compression des instantanés dans votre build pour Android 12 permet d'économiser de l'espace sur la partition /data.

L'implémentation du test A/B virtuel avec compression des instantanés nécessite des modifications du code spécifique à l'appareil. Pour en savoir plus sur les modifications et les détails de l'implémentation, consultez les pages Présentation de l'A/B virtuel et Implémenter l'A/B virtuel.