Notes de version d'Android 12 et d'Android 12

Cette page résume les principales fonctionnalités des versions Android 12 et Android 12 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 d'usine, 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 privilèges au niveau du système, qui sont généralement fournies avec la version du système d'exploitation. Dans Android 11 et les versions antérieures, l'API est protégée par des contrôles 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 du son pour améliorer l'attribution et l'application des autorisations liées à l'utilisation du microphone via l'API de déclenchement du son. L'utilisation du microphone, 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 microphone. Dans Android 11 et les versions antérieures, l'utilisation du microphone est attribuée à l'utilisateur du système, car le package d'origine n'utilise pas directement l'API de déclenchement du son, mais via des services de niveau supérieur résidant dans le processus system_server .

L'impact de ces changements est le suivant :

  • Les applications non système utilisant la classe AlwaysOnHotwordDetector ne parviennent pas à se compiler avec l'API Android 12 car l'API a été supprimée de la surface publique.
  • Les applications système existantes utilisant la classe AlwaysOnHotwordDetector peuvent se voir refuser l'utilisation des fonctionnalités de déclenchement sonore lors de l'exécution. Pour résoudre ce problème et autoriser ces applications à accéder au microphone via un déclencheur sonore, déclarez les autorisations RECORD_AUDIO et CAPTURE_AUDIO_HOTWORD pour ces applications.

Prise en charge du langage Android Rust

Android 12 prend désormais en charge 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 plus d'informations sur Android Rust, divers 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 Android Rust Introduction .

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 prenant en charge l'architecture Generic Kernel Image (GKI) . Android 12 fournit également un boot_signature pour vérifier l'intégrité du noyau et du disque virtuel. 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 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 construction et du chargeur de démarrage à 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émentation de Bootconfig .

Police de secours 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 les partitions du fournisseur (dans les partitions /product/fonts ou /system/fonts ) nécessitait une mise à jour du système par 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 plus d'informations sur cette nouvelle fonctionnalité, voir Implémentation d'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 régionaux pour les nouveaux types d'appareils. Cela vous permet de définir la valeur de la propriété du filtre et la langue par défaut via oem/oem.prop lors de l'étalonnage en usine, et de configurer des restrictions sans ancrer le filtre dans l'image système.

Pour plus d'informations, voir Activation du filtre de paramètres régionaux .

Flasher les disques RAM du fournisseur

Android 12 introduit la prise en charge des disques virtuels de fournisseurs clignotants via une commande fastboot qui extrait l'image complète de vendor_boot d'un appareil. La commande invite l'outil de démarrage rapide côté hôte à lire l'en-tête de démarrage du fournisseur, à réimager et à flasher la nouvelle image. Cette prise en charge inclut les modifications du chargeur de démarrage et du démarrage rapide pour obtenir les données nécessaires, telles que la taille et le décalage de la partition.

Pour plus d'informations, consultez Flashing ramdisks du fournisseur sur la page Fastboot in Userspace .

Gestion des versions 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 manifeste de l'appareil au moment de la construction.

Pour plus de détails, consultez Gestion des versions GKI .

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

Les appareils qui se lancent 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 une surcharge de performances minimale. La collecte de statistiques reste active pendant une période de temps configurable, capturant des statistiques à intervalles réguliers.

Pour plus d'informations sur l'utilisation des statistiques mm_events , consultez MM Events - Historical Memory Statistics .

Restrictions de 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 reçoivent pas automatiquement l' SYSTEM_ALERT_WINDOW 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 obtiennent toujours l'autorisation par défaut.

Les applications tierces peuvent refuser d'avoir des superpositions d'application dessinées dessus. Cela fournit un mécanisme de protection contre les attaques de type cloak and dagger . Ceci 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 manifeste.

HIDE_NON_SYSTEM_OVERLAY_WINDOWS(signature|privileged) est obsolète au profit de HIDE_OVERLAY_WINDOWS .

Modifications des partitions de démarrage du fournisseur

Les appareils Android 12 utilisant la version 4 de l'en-tête d'image de démarrage prennent en charge plusieurs disques RAM de fournisseur dans la partition vendor_boot . Ces fragments de disque virtuel sont concaténés en série dans la section disque virtuel du fournisseur. Une table de disque virtuel fournisseur décrit la disposition de la section du disque virtuel fournisseur et les métadonnées de chaque fragment de disque virtuel 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é. L'utiliser pour nommer les fragments de disque virtuel du fournisseur n'est en aucun cas autorisé.

Pour en savoir plus, consultez Partitions de démarrage du fournisseur et Disques virtuels de plusieurs fournisseurs .

l'audio

Routage de périphérique audio combiné

La fonction de routage de périphérique audio combiné ajoute la prise en charge de la diffusion audio vers plusieurs périphériques 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 au moyen d'API système. Les applications peuvent découvrir plus précisément les capacités des appareils audio en utilisant les API publiques fournies par cette fonctionnalité.

Pour plus d'informations, consultez la page Routage de périphérique audio combiné .

Mises à jour de Audio HAL V7

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

Pour plus d'informations, consultez la section Mises à jour de la section Audio HAL V7 et l' exemple de stratégie audio .

Caméra

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 la caméra deviceStateOrientationMap qui permet à la caméra HAL d'informer le client de la caméra et le cadre de la caméra des changements d'orientation du capteur déclenchés par un changement de l'état de pliage d'un appareil. Les appareils pliables peuvent éventuellement utiliser une ou plusieurs caméras logiques qui sont composées de dispositifs physiques avec différentes orientations de capteur pour différents états de pliage de l'appareil. L'entrée de métadonnées deviceStateOrientationMap permet à la structure de la caméra de garantir 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 plus d'informations, consultez metadata_definitions.xml .

Exigence de prise en charge de l'extension du fournisseur CameraX

Dans Android 12, les appareils prenant en charge les extensions CameraX doivent avoir la propriété ro.camerax.extensions.enabled définie sur true , ce qui permet de demander si un appareil prend en charge les extensions.

Pour plus d'informations, voir Configuration de la bibliothèque fournisseur sur un appareil .

Prise en charge du capteur de caméra à quatre baies

Android 12 introduit des API de plate-forme qui permettent aux applications de tirer parti des appareils dotés de capteurs de caméra à ultra haute résolution, généralement avec des modèles quad ou nona bayer qui offrent une flexibilité en termes de qualité d'image et de performances en basse lumière. 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 caméra HAL pour les capteurs de caméra ultra haute résolution, les fabricants d'appareils doivent implémenter des modifications pour les fichiers suivants :

Compatibilité

Exigence de prise en charge ADN pour les cartes SIM

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

Pour plus de détails, voir Écran et stockage .

Mises à jour ITS de la caméra

Android 12 introduit diverses mises à jour de Camera Image Test Suite (ITS), notamment des tests nouveaux et mis à jour, la refactorisation vers Python 3 et l'adoption du cadre de test Mobly.

Pour plus d'informations, consultez les notes de version de la suite de tests d'image d'appareil photo Android 12 .

Mises à jour CDD

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

Connectivité

découpage du réseau 5G

Android 12 prend en charge le découpage du réseau 5G, l'utilisation de 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 de réseau de dédier une partie du réseau à la fourniture de fonctionnalités spécifiques pour un segment particulier de clients.

Pour plus d'informations, consultez la section Découpage du réseau 5G .

Profils Companion Device Manager

Les applications qui ciblent Android 12 et versions ultérieures peuvent utiliser des profils d'appareils compagnons lors de la connexion à une montre. L'utilisation d'un profil simplifie le processus d'inscription en regroupant l'octroi d'un ensemble d'autorisations spécifiques à un type d'appareil en 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 compagnon une fois que l'appareil se connecte et ne durent que tant que l'appareil est associé. La suppression de l'application ou de l'association supprime les autorisations.

Pour plus d'informations, voir Profils de périphériques compagnons .

Droit au service IMS (TS.43)

Android 12 inclut la prise en charge de la configuration des droits de service TS.43 , une spécification GSMA qui définit l'étape de vérification des droits pour l'activation de services, notamment la voix sur Wi-Fi (VoWiFi), la voix sur LTE (VoLTE), les SMS sur IP (SMSoIP), l'activation du service sur l'appareil (ODSA) des appareils compagnons eSIM (associés à l'appareil demandeur) et les informations sur le forfait de données.

Pour plus d'informations, consultez Autorisation de service IMS .

Enregistrement unique IMS

Android 12 ajoute la prise en charge d'un modèle d'enregistrement unique pour fournir les fonctionnalités MMTEL et RCS. Ce modèle permet aux appareils d'avoir toutes les fonctionnalités IMS gérées via un seul enregistrement IMS fourni par ImsService de l'appareil. Par rapport à un modèle à double enregistrement, 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 plus d'informations, voir Enregistrement unique IMS .

Détection du fuseau horaire de l'emplacement

Android 12 inclut la détection de fuseau horaire de localisation, une fonction facultative de détection automatique de fuseau horaire qui permet aux appareils d'utiliser leurs données de carte de localisation et de fuseau horaire pour déterminer le fuseau horaire actuel.

Pour plus d'informations, consultez Détection du fuseau horaire de l'emplacement .

Randomisation MAC

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

Pour plus d'informations, consultez Comportement de randomisation MAC .

Sélection de réseau

Android 12 introduit un nouveau mécanisme de sélection de réseau utilisant la classe NetworkScore . La sélection du réseau affecte la manière dont Android répond aux demandes de réseau des applications et du système, et influence la manière dont le réseau par défaut d'une application est choisi.

Pour plus d'informations, voir Sélection du réseau .

Style d'appel de notification

À 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 comprend des boutons d'action pour répondre, refuser et raccrocher les appels téléphoniques. Il utilise également le même style centré sur la personne utilisé par les conversations , ce qui est cohérent avec son comportement de classement des notifications d'appel en haut de l'ombre.

Pour que les applications utilisent le style de notification CallStyle , elles doivent utiliser une intention plein écran ou un service de premier plan (avec la prémission associée). Ce style classe les notifications d'appels en haut de l'ombre. Pour les appels en cours, ce style ajoute une puce à la barre d'état permettant aux utilisateurs de revenir rapidement à l'application appelante.

Pour plus d'informations, voir Notifications d'appel .

Mises à jour des points de passe

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

Pour plus d'informations sur ces fonctionnalités, consultez Passpoint (Hotspot 2.0) .

Mises à jour du portefeuille à accès rapide

Dans Android 12 ou supérieur, la fonction Quick Access Wallet est disponible à partir de l'ombre au lieu du menu d'alimentation comme dans Android 11. L'interface utilisateur du portefeuille s'exécute désormais dans l'interface utilisateur système et se trouve dans frameworks/base/packages/SystemUI/src/com/android/systemui/wallet .

Pour plus d'informations, voir Portefeuille d'accès rapide .

Expérience utilisateur de connectivité simplifiée

Android 12 offre une expérience de connectivité simplifiée en option qui aide les utilisateurs à mieux comprendre leurs connexions réseau, à basculer entre les fournisseurs Internet et à résoudre les problèmes de connectivité réseau.

Pour plus d'informations, voir Interface utilisateur de connectivité .

Priorité de la source horaire

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

Pour plus de détails sur la configuration et le test de la priorité de la source horaire sur votre appareil, consultez Priorité de la source horaire .

Basculer pour désactiver la 2G

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

La fonction de basculement 2G est activée par défaut. Les opérateurs peuvent désactiver la fonctionnalité lors de l'exécution via l'indicateur CarrierConfig KEY_HIDE_ENABLE_2G .

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

Spécifications UICC

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

Voir Préparation de l'UICC pour plus d'informations.

Concurrence Wi-Fi AP/AP

Android 12 introduit la fonction de simultanéité Wi-Fi AP/AP, qui permet aux appareils d'afficher un point d'accès de connexion double (AP+AP) ponté.

Pour plus d'informations, consultez Concurrence Wi-Fi AP/AP .

Évitement des canaux coex Wi-Fi/cellulaires

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

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

Android 12 introduit la prise en charge de WPA3 Hash-to-Element (H2E), du mode de transition WPA2/WPA3-Enterprise et de l'indication Transition Disable.

Pour plus d'informations, consultez WPA3 et Wi-Fi Enhanced Open .

Concurrence Wi-Fi STA/STA

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

Pour plus d'informations, consultez Concurrence Wi-Fi STA/STA .

Dispositifs

Android 12 nouvelles fonctionnalités automobiles

Consultez les nouveautés automobiles pour en savoir plus sur ces nouvelles fonctionnalités :

Affichage

Bloquer les touches non fiables

Pour préserver la sécurité du système et pour une bonne expérience utilisateur, Android 12 ajoute la prise en charge du blocage des é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 dangereuse.

Notifications de conversation et widgets

Android 11 a ajouté la prise en charge de la personnalisation du comportement et du placement des notifications de conversation sur l'ombre des notifications par priorité et niveau d'alerte, permettant aux conversations d'être marquées comme importantes et de lancer des bulles spécifiques à la conversation dans l'espace de conversation. S'appuyant sur ces fonctionnalités d'Android 11, la fonctionnalité Android 12 Conversation Widget permet aux utilisateurs d'ajouter des widgets de conversation pour les contacts importants sur l'écran d'accueil, leur permettant de reprendre facilement les conversations sans attendre de notification.

Pour plus d'informations, consultez Notifications de conversation et widgets .

Flou de fenêtre

Des API publiques sont disponibles dans Android 12 pour implémenter des effets de flou de fenêtre (tels que le flou d'arrière-plan et le flou derrière). Avec ces API, vous pouvez brouiller tout ce qui se cache derrière votre propre fenêtre. Vous pouvez créer des fenêtres avec des arrière-plans flous, créant un effet de verre dépoli, ou afficher des fenêtres avec tout l'écran derrière eux flou, créant un effet de profondeur de champ. Vous pouvez également combiner ces deux.

Pour plus d'informations sur cette nouvelle fonctionnalité et comment l'implémenter, consultez la page Window Blurs .

Grossissement de la fenêtre

Dans Android 12, les utilisateurs malvoyants peuvent agrandir n'importe quoi sur leur écran en utilisant la fonction d'agrandissement de la fenêtre. L'agrandissement de la fenêtre permet aux utilisateurs d'agrandir une partie sélectionnée de l'écran, contrairement à l'utilisation d'une fonction de zoom sur un écran entier. La fenêtre sélectionnée peut être déplacée sur l'ensemble de l'affichage, ce qui leur permet d'agrandir différentes parties de l'écran selon les besoins.

Pour plus d'informations, voir Loupe de fenêtre .

Entreprise

Mises à jour de l'administration des appareils

Android 12 inclut les mises à jour d'administration de l'appareil suivantes :

  • Mises à jour gérées de la séparation des données de profil. 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 identifiant unique, spécifique à l'inscription, qui identifie l'inscription au profil professionnel pour une organisation spécifique. Pour plus de détails, voir Identifiants d'appareil .

  • Mises à jour du provisionnement des appareils. Android 12 inclut plusieurs changements dans le provisionnement des appareils. Pour plus de détails et une liste des modifications, consultez Mises à jour d'Android 12 .

Graphique

Gestion de l'enfichage à chaud dans Composer HAL

Les capacités d'affichage (telles que les modes d'affichage et les types HDR pris en charge) 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 (STB) et over-the-top (OTT) dispositifs. À partir d'Android 12, les modifications apportées au framework prennent en charge la gestion de l'enfichage à chaud et les capacités d'affichage dynamique.

Pour plus d'informations, consultez Gestion de l'enfichage à chaud dans Composer HAL .

Composants du système modulaire

Mises à jour du module principal

Android 12 introduit deux nouveaux modules, ART et Device Scheduling .

De nombreux modules existants sont mis à jour dans Android 12. Voir Mises à jour dans Android 12 pour plus de détails.

ART

Android 12 ou supérieur prend en charge le module ART , qui vise à améliorer l'expérience Android en offrant aux utilisateurs les dernières optimisations d'exécution gérées, les fonctionnalités et les corrections de bogues.

Planification des appareils

Android 12 ou supérieur prend en charge le module de planification de l'appareil , qui contient une logique qui détecte si l'appareil est inactif ou non, et peut être redémarré sans interruption de l'utilisateur.

Médias

Transcodage multimédia compatible

Le transcodage multimédia compatible permet aux appareils d'utiliser des formats multimédias modernes et efficaces 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 plus d'informations, consultez Transcodage de médias compatibles .

Performance

Mise en veille prolongée de l'application

Android 12 offre la possibilité de mettre en veille les applications que l'utilisateur n'utilise pas pendant quelques mois, comme la révocation automatique des autorisations.

Voir Mise en veille prolongée de l'application pour plus d'informations.

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 de groupe de contrôle spécifiques comme facultatifs et d'utiliser une nouvelle commande task_profiles qui remplace la commande obsolète writepid . Ce remplacement garantit que les implémentations de groupes de contrôle sous-jacentes n'ont aucun effet sur les couches supérieures lors de la migration des tâches dans les hiérarchies de groupes de contrôle. Android 12 introduit également la prise en charge des profils de tâches au niveau de l'API.

Pour plus d'informations, consultez 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écouvrir et de coupler des appareils Bluetooth à proximité.
  • BLUETOOTH_ADVERTISE : permet aux applications de faire de la publicité sur les appareils Bluetooth à proximité.
  • BLUETOOTH_CONNECT : permet aux applications de se connecter aux appareils Bluetooth jumelé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 et aucune modification n'est requise pour les applications exécutées sur Android 11 ou une version antérieure. Pour les applications héritées ciblant Android 11 ou une version antérieure, la plateforme traduit automatiquement les demandes d'autorisations Bluetooth héritées en demandes de nouvelles autorisations. Lorsqu'une application est mise à niveau pour cibler Android 12 ou supérieur, l'application doit demander explicitement les nouvelles autorisations Bluetooth.

Pour plus d'informations sur l'utilisation des autorisations, reportez-vous à 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 caméras et les autorisations d'application du microphone.

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

Cette fonctionnalité est obligatoire pour tous les OEM . Pour plus d'informations, consultez Indicateurs de confidentialité .

Emplacement

À 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 affecter les applications uniquement lorsqu'elles ciblent Android 12 ou supérieur. Cependant, sur les appareils dotés d'une ancienne version du module PermissionController , cette modification affecte toutes les applications, quelle que soit la version du SDK cible.

Durée

Vérifications Dexpreopt et <uses-library>

Android 12 a modifié le système de construction 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 build peuvent interrompre les builds.

Pour plus d'informations sur la façon de se préparer aux pannes et les recettes pour les réparer et les atténuer, consultez Dexpreopt et <uses-library> Checks .

Essais

Suite de tests de compatibilité (CTS)

Pour Android 12, de nombreux nouveaux modules clés et modifications de test sont introduits pour CTS. Voir les notes de version CTS pour plus d'informations.

la télé

Service de contrôle HDMI-CEC

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

Pour plus de détails, voir Service de contrôle HDMI-CEC .

Cadre de tuner

Sous Android 12 :

  • L'interface avec Tuner HAL 1.1 ou supérieur prend en charge la norme DTMB DTV. Les fonctionnalités et paramètres d'interface suivants sont pris en charge :

    • DtmbFrontendCapabilities

    • DtmbFrontendSettings

  • L'API Tuner SDK prend en charge les nouvelles fonctionnalités de Tuner HAL 1.1, qui est une mise à niveau de version 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

Après l'installation d'une mise à jour d'un conteneur Android Pony EXpress (APEX), 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 hautement compressé de fichiers APEX 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 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 une sécurité et une commodité accrues aux utilisateurs, 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 serveur d'Android 12 fournissent ensemble une sécurité de type matériel au niveau de l'appareil.

Pour plus d'informations, consultez Reprise au redémarrage .

Relecture du code PIN de la carte SIM avec RoR

Android 12 propose une relecture SIM-PIN pour une vérification transparente du code PIN après un redémarrage initié par RoR. Le code PIN SIM est rechiffré et stocké chaque fois qu'un utilisateur l'active, le vérifie ou le modifie avec succès.

Pour plus d'informations, voir Relecture SIM-PIN .

Mises à jour A/B virtuelles

Android 12 offre l'option de compression virtuelle A/B sur les partitions instantanées. Dans Android 12, les partitions pouvant être mises à jour que le chargeur de démarrage n'utilise pas peuvent être prises en instantané pour économiser de l'espace. Ceux-ci peuvent également être compressés. L'activation de la compression d'instantané dans votre build pour Android 12 permet d'économiser de l'espace sur la partition /data .

L'implémentation de Virtual A/B avec compression d'instantanés nécessite des modifications du code spécifique à l'appareil. Consultez les modifications et les détails de mise en œuvre sur les pages Présentation de Virtual A/B et Implémentation de Virtual A/B .