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) et non une API publique. La classe AlwaysOnHotwordDetector est destinée à être utilisée par les applications de l'Assistant disposant de privilèges au niveau du système, qui sont généralement fournies avec la version de l'OS. Dans 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.

Android 12 inclut également des améliorations de la fonctionnalité de déclenchement audio pour améliorer l'attribution et l'application des autorisations liées à l'utilisation du micro via l'API de déclenchement audio. L'utilisation du micro, y compris l'utilisation indirecte 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é des utilisateurs et la transparence concernant les packages qui utilisent le micro. Dans Android 11 et les versions antérieures, l'utilisation du micro est attribuée à l'utilisateur du système, car le package d'origine n'utilise pas l'API Sound Trigger directement, mais par le biais de services de niveau supérieur résidant dans le processus system_server.

Voici l'impact de ces modifications :

  • Les applications non système qui utilisent la classe AlwaysOnHotwordDetector ne peuvent pas être compilées avec l'API Android 12, car celle-ci a été supprimée de la surface publique.
  • Les applications système existantes qui utilisent la classe AlwaysOnHotwordDetector peuvent se voir refuser l'utilisation des fonctionnalités de déclenchement audio au moment de l'exécution. Pour résoudre ce problème et permettre à ces applications d'accéder au micro via le déclencheur audio, 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 développer 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 sur la page Introduction à Android Rust.

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

Android 12 ajoute l'utilisation de la version 4 de l'en-tête d'image de démarrage, 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. Le contrôle, qui est effectué dans VtsSecurityAvbTest, est requis pour les appareils utilisant l'architecture GKI.

Pour en savoir plus, consultez la page En-tête de l'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 noyau androidboot.* utilisées avec Android 11 et les versions antérieures. 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 de remplacement personnalisée

Avant Android 12, la mise à jour des fichiers de police installés sur l'appareil dans AOSP (dans la partition /system/fonts) ou dans 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 police installés et mettre à jour les fichiers de police 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 secours personnalisée.

Tas DMA-BUF

Dans Android 12, GKI 2.0 remplace l'allocateur 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. Cela vous permet de définir la valeur de la propriété de filtre et la langue par défaut via oem/oem.prop lors de la calibration en usine, et de configurer des restrictions sans intégrer le filtre dans l'image système.

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

Ramdisques du fournisseur Flash

Android 12 permet de flasher les ramdisks du fournisseur à l'aide d'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 apportées au bootloader et à fastbootd pour obtenir les données nécessaires, telles que la taille et le décalage de la partition.

Pour en savoir plus, consultez Flashing vendor ramdisks (Flasher les ramdisques du fournisseur) sur la page Fastboot in Userspace.

Gestion des versions de GKI

À partir d'Android 12, la partie de la version KMI correspondant à la version d'Android 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 Gestion des versions de GKI.

Statistiques sur la mémoire historique des événements MM

Les appareils lancés 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 sur la mémoire. mm_events est intégré aux mécanismes de traçage perfetto et ajoute une surcharge de performances minimale. La collecte de statistiques reste active pendant une période configurable, en capturant les 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 plus difficile l'obtention de l'autorisation SYSTEM_ALERT_WINDOW et permet aux applications tierces de bloquer les superpositions d'autres applications tierces.

Les applications préinstallées ne se voient pas automatiquement accorder l'appOp SYSTEM_ALERT_WINDOW dans Android 12. L'utilisateur doit l'accorder explicitement avant qu'une application préinstallée puisse l'utiliser. Les applications système bénéficient toujours de l'autorisation par défaut.

Les applications tierces peuvent choisir de ne pas afficher de superposition. 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 des partitions de démarrage du fournisseur

Les appareils Android 12 utilisant la version 4 de l'en-tête de l'image de démarrage sont compatibles avec plusieurs ramdisks de fournisseur dans la partition vendor_boot. Ces fragments de ramdisk sont concaténés en série dans la section du ramdisk du fournisseur. Une table ramdisk du fournisseur décrit la mise en page de la section ramdisk du fournisseur et les métadonnées de chaque fragment 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 disque RAM du fournisseur. Il est désigné comme réservé. Il n'est en aucun cas autorisé de l'utiliser pour nommer des fragments de ramdisk du fournisseur.

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

Audio

Routage combiné des appareils audio

La fonctionnalité de routage des appareils audio combinés permet de diffuser du contenu audio en streaming vers 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 à l'aide des API système. Les applications peuvent découvrir les fonctionnalités des appareils audio plus précisément en utilisant les API publiques fournies par cette fonctionnalité.

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

Modifications apportées à Audio HAL V7

Pour résoudre les problèmes de rétrocompatibilité, Stable AIDL sera obligatoire pour toutes les modifications 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'Audio HAL dans Android 12.

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

Appareil photo

Entrée de métadonnées statiques de la caméra pour les appareils pliables

Android 12 introduit l'entrée de métadonnées statiques de l'appareil photo deviceStateOrientationMap qui permet à la HAL de l'appareil photo d'informer le client 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 l'appareil photo 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.

Exigence de compatibilité avec les extensions de fournisseur CameraX

Dans Android 12, les appareils compatibles avec les extensions CameraX doivent avoir la propriété ro.camerax.extensions.enabled définie sur true, ce qui permet de vérifier si un appareil est compatible avec les extensions.

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

Prise en charge du capteur photo Quad Bayer

Android 12 introduit des API de plate-forme qui permettent aux applications de tirer parti des appareils dotés de capteurs photo à très haute résolution, généralement avec des modèles Bayer quad ou nona qui offrent une flexibilité en termes de qualité d'image et de performances en basse 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 de la couche d'abstraction matérielle de l'appareil photo pour les capteurs d'appareil photo à très haute résolution, les fabricants d'appareils doivent implémenter des modifications pour les fichiers suivants :

Compatibilité

Exigences concernant l'assistance ADN pour les cartes SIM

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

Pour en savoir plus, consultez Écran et stockage.

Mises à jour de la suite de tests ITS pour les caméras

Android 12 introduit diverses mises à jour de la suite de tests d'images de l'appareil photo (ITS, Camera Image Test Suite), y compris des tests nouveaux et mis à jour, une refactorisation 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 caméras Android 12.

Mises à jour du CDD

Le document de définition de compatibilité d'Android 12 s'appuie sur les versions précédentes et inclut des mises à jour pour les nouvelles fonctionnalités et des modifications des exigences pour les fonctionnalités déjà disponibles.

Connectivité

Segmentation du réseau 5G

Android 12 est compatible avec le découpage du réseau 5G, qui consiste à utiliser la virtualisation du 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 réseau de dédier une partie du réseau à la fourniture de fonctionnalités spécifiques pour un segment particulier de clients.

Pour en savoir plus, consultez Segmentation du réseau 5G.

Profils Companion Device Manager

Les applications ciblant 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 Profils d'appareils associés.

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

Android 12 est compatible avec la spécification GSMA TS.43 Service Entitlement Configuration, qui définit l'étape de validation des droits d'accès pour l'activation de services tels que la voix sur Wi-Fi (VoWi-Fi), la voix sur LTE (VoLTE), les SMS sur IP (SMSoIP), l'activation de services sur l'appareil (ODSA) des appareils eSIM associés (à l'appareil demandeur) et les informations sur le forfait de données.

Pour en savoir plus, consultez IMS Service Entitlement.

Enregistrement unique IMS

Android 12 ajoute la prise en charge d'un modèle d'enregistrement unique pour fournir des 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 IMS Single Registration.

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é optionnelle de détection automatique du fuseau horaire qui permet aux appareils d'utiliser leur position et les données de la carte des fuseaux horaires pour déterminer le fuseau horaire actuel.

Pour en savoir plus, consultez Détection du fuseau horaire en fonction de la position.

Randomisation de l'adresse MAC

Android 12 introduit le type de randomisation d'adresse MAC non persistante, qui permet à Android de randomiser à nouveau les adresses MAC pour certains réseaux au début de chaque connexion.

Pour en savoir plus, consultez Comportement de la randomisation de l'adresse MAC.

Sélection du réseau

Android 12 introduit un nouveau mécanisme de sélection du 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 des applications et du système, et influe sur la façon dont le réseau par défaut d'une application est choisi.

Pour en savoir plus, consultez Sélection du 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 aux appels téléphoniques, les refuser et y mettre fin. Il utilise également le même style centré sur la personne que les conversations, ce qui correspond à son comportement de classement des notifications d'appel en haut de l'écran.

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

Pour en savoir plus, consultez Notifications d'appel.

Mises à jour Passpoint

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

Pour en savoir plus sur ces fonctionnalités, consultez Passpoint (Hotspot 2.0).

Nouveautés concernant l'accès rapide à Wallet

Dans Android 12 ou version ultérieure, la fonctionnalité d'accès rapide à Wallet est disponible depuis l'ombre au lieu du menu Marche/Arrêt comme dans Android 11. L'UI Wallet s'exécute désormais dans l'UI système et se trouve dans frameworks/base/packages/SystemUI/src/com/android/systemui/wallet.

Pour en savoir plus, consultez Quick Access Wallet.

Expérience utilisateur simplifiée pour la connectivité

Android 12 propose une expérience de connectivité simplifiée et 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 Interface utilisateur de 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 savoir comment configurer et tester la priorité de la source de temps sur votre appareil, consultez Priorité de la source de temps.

Appuyez pour désactiver la 2G

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

L'option permettant d'activer ou de désactiver la 2G est activée par défaut. Les opérateurs peuvent désactiver la 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 l'UICC

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

Pour en savoir plus, consultez Préparer l'UICC.

Simultanéité du point d'accès Wi-Fi/du point d'accès

Android 12 introduit la fonctionnalité de concurrence Wi-Fi AP/AP, qui permet aux appareils de créer un point d'accès au partage de connexion double (AP+AP) ponté.

Pour en savoir plus, consultez Simultanéité des points d'accès Wi-Fi.

Éviter les canaux de coexistence Wi-Fi/réseau mobile

Android 12 introduit la fonctionnalité Éviter les canaux de coexistence Wi-Fi/réseau 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 les 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 est compatible avec WPA3 Hash-to-Element (H2E), le mode de transition WPA2/WPA3-Enterprise et l'indication de désactivation de la transition.

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

Simultanéité Wi-Fi STA/STA

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

Pour en savoir plus, consultez Simultanéité Wi-Fi STA/STA.

Appareils

Nouvelles fonctionnalités automobiles d'Android 12

Pour en savoir plus sur ces nouvelles fonctionnalités, consultez Nouveautés d'Automotive :

Écran

Bloquer les contacts non approuvés

Pour préserver la sécurité du système et offrir une expérience utilisateur de qualité, Android 12 permet de bloquer les événements tactiles non fiables. 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 a ajouté la possibilité de personnaliser le comportement et l'emplacement des notifications de conversation dans le volet de notifications par priorité et niveau d'alerte. Il permet également de marquer les conversations comme importantes et de lancer des bulles spécifiques aux conversations dans l'espace de conversation. En 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 à l'écran d'accueil, ce qui leur permet de reprendre facilement les conversations sans attendre de notification.

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

Flous de fenêtre

Des API publiques sont disponibles dans Android 12 pour implémenter des effets de flou de fenêtre (comme le flou d'arrière-plan et le flou derrière). Ces API vous permettent de flouter ce qui se trouve derrière votre fenêtre. Vous pouvez créer des fenêtres avec des arrière-plans flous, ce qui donne un effet de verre dépoli, ou afficher des fenêtres avec l'intégralité de l'écran derrière elles flou, ce qui crée un effet de profondeur de champ. Vous pouvez également combiner ces deux options.

Pour en savoir plus sur cette nouvelle fonctionnalité et sur la façon de l'implémenter, consultez la page Flous de fenêtre.

Agrandissement de la fenêtre

Dans Android 12, les utilisateurs malvoyants peuvent agrandir n'importe quel élément sur leur é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 à la 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 à l'utilisateur d'agrandir différentes parties de l'écran selon ses besoins.

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

Entreprise

Mises à jour de l'administration des appareils

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

  • Mises à jour concernant la séparation des données des profils gérés Sur les appareils personnels disposant d'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'enregistrement qui identifie l'enregistrement du profil professionnel pour une organisation spécifique. Pour en savoir plus, consultez Identifiants des appareils.

  • Mises à jour concernant le provisionnement des appareils Android 12 inclut plusieurs modifications concernant le provisionnement des appareils. Pour en savoir plus et obtenir la liste des modifications, consultez Mises à jour d'Android 12.

Graphiques

Gestion du branchement à chaud dans Composer HAL

Les capacités d'affichage (telles que les modes d'affichage et les types 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 Gestion du branchement à chaud dans Composer HAL.

Composants du système modulaire

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

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

  • Planification des appareils : ce module contient une logique qui détecte si l'appareil est inactif et peut être redémarré sans perturber l'utilisateur.

Modifications apportées aux modules existants :

  • adbd : mise à jour de la limite du module.

  • DocumentsUI : navigation dans les fichiers désactivée.

  • ExtServices : ajout de DisplayHashingService et mise à jour de la limite du module.

  • Média : ajout d'un nouveau composant multimédia.

  • Environnement d'exécution NNAPI : la limite du module a été mise à jour.

  • PermissionController : Le module PermissionController est désormais entièrement modulaire et la limite du module a été mise à jour.

  • Extensions du SDK : mise à jour de la responsabilité du module et ajout d'un nouveau composant.

  • Statsd : mise à jour de la limite du module.

  • Partage de connexion : la fonctionnalité ajoutée a mis à jour la limite du module.

  • Données de fuseau horaire : le format du package a été mis à jour.

  • Wi-Fi : mise à jour de la limite du module.

Contenus multimédias

Transcodage de contenus multimédias dans un format compatible

Le transcodage de contenu multimédia compatible permet aux appareils d'utiliser des formats multimédias modernes et efficaces en termes de stockage pour la capture vidéo, tels que HEVC, tout en maintenant 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 besoins en stockage et en bande passante. Pour en savoir plus, consultez Transcodage de contenus multimédias compatibles.

Performances

Hibernation des applications

Android 12 permet de mettre en veille prolongée les applications que l'utilisateur n'utilise pas pendant plusieurs mois, comme pour la révocation automatique des autorisations.

Pour en savoir plus, consultez Mise en veille des applications.

Couche d'abstraction Cgroup

La couche d'abstraction du groupe de contrôle (cgroup) dans 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 de cgroup sous-jacentes n'ont aucun effet sur les couches supérieures lors de la migration des tâches dans les hiérarchies de cgroup. Android 12 introduit également la prise en charge des profils de tâches par niveau d'API.

Pour en savoir plus, consultez la section 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 smartwatch sans nécessiter l'autorisation d'exécution LOCATION.

Ces nouvelles autorisations sont compatibles avec les applications. Aucune modification n'est requise pour les applications fonctionnant sous Android 11 ou une version antérieure. Pour les anciennes applications ciblant Android 11 ou une version antérieure, la plate-forme traduit automatiquement les demandes d'anciennes autorisations Bluetooth en demandes de nouvelles autorisations. Lorsqu'une application passe à Android 12 ou version ultérieure, elle doit demander explicitement les nouvelles autorisations Bluetooth.

Pour en savoir plus sur l'utilisation des autorisations, consultez 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ées via les autorisations d'opération d'application pour les caméras et le micro.

App Ops suit à la fois l'état d'activité et le nombre d'appels d'API individuels, et interagit avec les indicateurs de micro et d'appareil photo dans Android 12 pour montrer 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 de micro ou d'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 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 est conçue pour n'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, cette modification affecte toutes les applications, quelle que soit la version du SDK cible.

Runtime

Vérifications dexpreopt et <uses-library>

Android 12 apporte des modifications au système de compilation pour la compilation ahead-of-time (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 problèmes de compatibilité et obtenir des recettes pour les résoudre et les atténuer, consultez Vérifications Dexpreopt et <uses-library>.

Tests

La suite de tests de compatibilité

Pour Android 12, de nombreux nouveaux modules clés et modifications de tests ont été introduits pour la 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 sort de veille ou se met en veille.

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

Framework Tuner

Dans Android 12 :

  • L'interface utilisateur avec Tuner HAL 1.1 ou version ultérieure est compatible avec la norme DTMB DTV. Les fonctionnalités et paramètres d'interface suivants sont compatibles :

    • DtmbFrontendCapabilities

    • DtmbFrontendSettings

  • L'API Tuner SDK 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 HAL en cours d'exécution.

Mises à jour

Compression APEX

Une fois la mise à jour d'un conteneur Android Pony EXpress (APEX) 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 très 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 APEX compressés.

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

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

Pour en savoir plus, consultez Reprendre après un redémarrage.

Relecture du code PIN de la carte SIM avec RoR

Android 12 propose la rediffusion du code PIN de la carte SIM pour une validation fluide du code PIN après un redémarrage initié par RoR.Le code PIN de la carte SIM est à nouveau chiffré et stocké chaque fois qu'un utilisateur l'active, le valide ou le modifie.

Pour en savoir plus, consultez Relecture du code PIN de la carte SIM.

Mises à jour virtuelles A/B

Android 12 propose l'option de compression A/B virtuelle sur les partitions instantanées. Dans Android 12, les partitions pouvant être mises à jour et que le bootloader n'utilise pas peuvent être instantanées pour économiser de l'espace. Elles peuvent également être compressées. L'activation de la compression des instantanés dans votre build pour Android 12 permet de gagner de l'espace sur la partition /data.

L'implémentation de l'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 la mise en œuvre, consultez les pages Présentation des tests A/B virtuels et Mettre en œuvre les tests A/B virtuels.