Android 12 est là avec son premier Developer Preview et de nombreux changements pour les développeurs

Android 12 Developer Preview 1 est là, apportant une tonne de changements pour lesquels les développeurs d’applications doivent surveiller et adapter leurs applications. Continuer à lire!

Le système d'exploitation Android existe depuis des années maintenant et il est devenu le système d'exploitation dominant pour les appareils mobiles. Bien qu'Android en tant que plate-forme ait définitivement mûri au fil des années, il est toujours possible de l'améliorer. Et l'améliorera, puisque Google publie actuellement la première version de sa prochaine mise à jour, Android 12. Android 12 Developer Preview 1 est là et il apporte des modifications qui rendent Android plus intuitif, plus performant et plus sécurisé.

Avant de continuer, voici quelque chose qui mérite d'être répété: cet aperçu du développeur, comme son nom l'indique, est destiné pour les développeurs uniquement afin qu'ils puissent essayer le prochain système d'exploitation et tester leurs applications pour s'adapter aux changements qui sont introduit. Cela signifie qu'il s'agit d'une version très approximative du système d'exploitation, comme prévu, mais Google la peaufinera avec les commentaires des développeurs au cours des prochains mois. Si vous êtes un utilisateur moyen, la mise à jour Android 12 n’arrivera pas avant le second semestre. D’ici là, nous vous recommandons de ne pas flasher les versions sur votre téléphone et de simplement lire notre couverture pour rester informé de tous les changements à venir sur Android !

Android 12 est construit avec les principes de la confidentialité, d'une meilleure expérience utilisateur et de meilleures performances, avec son Developer Preview 1 introduisant :

  • Confiance et sécurité
    • Comportements modernes des cookies SameSite dans WebView
    • MAC Netlink restreint
    • Exportation plus sûre des composants
    • Gestion plus sûre des intentions
  • De meilleurs outils d'expérience utilisateur
    • Transcodage multimédia compatible
    • Prise en charge des images AVIF
    • Optimisations du service de premier plan
    • Insertion de contenu riche
    • Effet audio couplé haptique
    • Audio multicanal
    • Améliorations du mode immersif pour la navigation gestuelle
    • Mises à jour de l'interface utilisateur des notifications
    • Des notifications plus rapides et plus réactives
    • Appels Binder IPC améliorés
  • Compatibilité des applications
    • Project Mainline / Mises à jour du système Google Play: ART et plus
    • Optimisation pour les tablettes, les pliables et les téléviseurs
    • Listes mises à jour des interfaces non SDK
    • Modifications de test et de débogage plus faciles
    • Jalon de stabilité de la plateforme
  • Comment télécharger et Comment installer Android 12 Aperçu du développeur 1

Google espère offrir aux utilisateurs plus de transparence et de contrôle tout en assurant la sécurité des appareils Android. Android 12 apporte de nouveaux contrôles sur les identifiants pouvant être utilisés pour le suivi, des paramètres par défaut plus sûrs pour les composants d'application, et bien plus encore.

Comportements modernes des cookies SameSite dans WebView

WebView est en cours de mise à jour pour le rendre conforme à modifications apportées à Google Chrome et d'autres navigateurs, en ce qui concerne les comportements des cookies SameSite. Cela offrira une sécurité et une confidentialité supplémentaires, et donnera aux utilisateurs plus de transparence et de contrôle sur la manière dont les cookies peuvent être utilisés sur les sites.

Google souhaite que les développeurs migrent vers des identifiants réinitialisables protégeant la confidentialité. À cette fin, il a adopté un effort multi-versions pour faciliter la migration du Netlink MAC à l’échelle des appareils. Android 11 a restreint l'accès au Netlink MAC à l'échelle de l'appareil au niveau d'API 30, et dans Android 12, la restriction est appliquée à toutes les applications, quel que soit le niveau targetSDK.

Exportation plus sûre des composants

Les applications des versions précédentes d'Android peuvent exporter par inadvertance des activités, des services et des récepteurs. Google modifie la gestion par défaut du Android; exporté attribut pour être plus explicite dans Android 12. Avec Android 12, les composants qui déclarent un ou plusieurs filtres d'intention doivent désormais déclarer explicitement un Android; exporté attribut. Google conseille aux développeurs d'inspecter leurs composants dans le manifeste afin d'éviter les erreurs d'installation liées au changement.

Gestion plus sûre des intentions

Android 12 exige que les applications déclarent explicitement un indicateur de mutabilité, soit FLAG_MUTABLE ou le nouveau FLAG_IMMUTABLE, pour chaque PendingIntent. Cela devrait rendre la gestion des PendingIntents plus sécurisée.


Aucune mise à jour n’est complète sans un perfectionnement supplémentaire de l’expérience utilisateur, et Android 12 n’est pas différent.

De nos jours, la plupart des appareils mobiles sont dotés d'un codage matériel H.265/HEVC, permettant aux applications d'appareil photo de capturez au format HEVC car il offre des améliorations significatives en termes de qualité et de compression par rapport aux anciens codecs. La plupart des applications prennent en charge HEVC, mais quelques-unes ne le prennent toujours pas en charge. Pour ces applications, Google introduit le transcodage multimédia compatible avec Android 12.

Grâce à cette fonctionnalité, une application qui ne prend pas en charge HEVC peut demander à la plate-forme de transcoder automatiquement le fichier en H.264/AVC, un format qui offre une compatibilité beaucoup plus large. Comme on pouvait s'y attendre, le processus de transcodage prendra un certain temps en fonction de la vidéo et des propriétés matérielles du smartphone. Google donne l'exemple du Pixel 4 (Snapdragon 855) qui prend environ 9 secondes pour transcoder une vidéo d'une minute 1080p 30fps.

Les développeurs peuvent choisir d'utiliser le service de transcodage en déclarant simplement les formats multimédias que leur application ne prend pas en charge. Google recommande fortement que les applications prennent en charge HEVC en premier lieu, mais si cela n'est pas possible, le développeur doit alors activer le transcodage multimédia compatible. La fonctionnalité sera active sur tous les appareils utilisant le format HEVC pour la capture vidéo.

Prise en charge des images AVIF

Android 12 introduit la prise en charge de la plate-forme pour le format de fichier image AV1, permettant une qualité d'image supérieure avec une compression plus efficace. AVIF est un format conteneur pour les images et les séquences d'images codées à l'aide de AV1. AVIF tire parti du contenu codé intra-image issu de la compression vidéo, améliorant considérablement la qualité de l'image pour la même taille de fichier par rapport aux formats d'image plus anciens tels que JPEG.

Gauche: AVIF (18,2 Ko). À droite: JPEG (20,7 Ko). Crédits: Comparaison d'images d'AVIF a atterri par Jake Archibald

Optimisations du service de premier plan

Un service de premier plan est un service qui effectue une opération visible pour l'utilisateur, comme une application audio lisant une piste audio et utilisant ainsi un service de premier plan. Ces services constituent un moyen important pour les applications de gérer certains types de tâches destinées aux utilisateurs. Mais lorsqu’ils sont surutilisés, cela peut affecter les performances et même conduire à la suppression d’applications.

Citant les améliorations de l'expérience utilisateur, Google bloquera le démarrage du service de premier plan depuis l'arrière-plan pour les applications qui ciblent la nouvelle plate-forme. Et pour permettre aux développeurs de s'éloigner plus facilement de ce modèle de démarrage, Android 12 introduit une nouvelle tâche accélérée dans JobScheduler qui obtient une priorité de processus élevée, un accès au réseau et s'exécute immédiatement quelles que soient les contraintes d'alimentation telles que la batterie Économiseur ou Doze. Pour des raisons de rétrocompatibilité, Google a également intégré des tâches accélérées dans la dernière version de la bibliothèque Jetpack WorkManager. De plus, Google retarde également l'affichage de certaines notifications de service de premier plan jusqu'à 10 secondes. Cela donne aux tâches de courte durée une chance de se terminer avant que leurs notifications ne soient affichées, réduisant ainsi la distraction des utilisateurs.

Insertion de contenu riche

Nous avons depuis longtemps dépassé le point où notre communication sur les téléphones reposait uniquement sur de simples communications vocales et textuelles. De nos jours, la plupart des communications sont incomplètes sans images (lire: mèmes), vidéos et autres contenus expressifs (lire: gifs de réaction). Cependant, insérer et déplacer ces riches types de contenu au sein et entre les applications n’est pas facile.

Pour permettre aux applications de recevoir plus facilement du contenu riche, Google introduit une nouvelle API unifiée qui leur permet d'accepter du contenu provenant de n'importe quelle source: presse-papiers, clavier ou glisser-déposer. Les développeurs peuvent attacher une nouvelle interface appelée OnReceiveContentListener aux composants de l'interface utilisateur et recevez un rappel lorsque le contenu est inséré via n'importe quel mécanisme. Ce rappel devient par conséquent l'endroit unique où le code de l'application gère l'insertion de tous les éléments. types de contenu, qu'il s'agisse de texte brut, de texte stylisé, de balisage, d'images, de fichiers vidéo ou audio, et au-delà.

Pour la rétrocompatibilité, Google a ajouté l'API unifiée à Androidx.

Effet audio couplé haptique

Sous Android 12, les applications peuvent fournir un retour haptique couplé audio via le vibreur du téléphone. De plus, la force et la fréquence des vibrations sont dérivées d’une session audio, permettant aux développeurs de créer une expérience de jeu et audio plus immersive. Par exemple, les applications d'appel peuvent peut-être utiliser des sonneries personnalisées pour identifier les appelants grâce à un retour haptique, et les jeux pourraient simuler un terrain accidenté dans un jeu de course. Il y a pas mal de possibilités à explorer ici.

Audio multicanal

Android 12 inclut plusieurs améliorations pour l'audio avec des informations spatiales. Il ajoute un support pour MPEG-H lecture en mode passthrough et offload. Les mélangeurs audio, rééchantillonneurs et effets ont été optimisés pour un maximum de 24 canaux (le maximum précédent était de 8 sur Android 11).

Améliorations du mode immersif pour la navigation gestuelle

Android 12 apporte un changement qui semble très important à première vue. Dans les expériences d’applications plein écran ou immersives, Android 12 permettra aux utilisateurs de naviguer sur leur téléphone d’un seul coup par défaut. Le système d’exploitation protégera toujours les applications contre les gestes accidentels lors de ces expériences en plein écran. Nous allons mettre la main sur l'aperçu du développeur pour comprendre exactement ce qui a changé, car le libellé ne rend pas pleinement justice au changement.

Mises à jour de l'interface utilisateur des notifications

Comme vous l'avez peut-être déjà remarqué dans le fuite de captures d'écran d'Android 12, les notifications recevront quelques retouches pour les rendre plus modernes, plus faciles à utiliser et plus fonctionnelles. Google mentionne qu'il y a des changements depuis le tiroir et les contrôles vers les modèles eux-mêmes. Les transitions et les animations sont également optimisées pour les rendre plus fluides. Les applications qui ciblent Android 12 auront également accès aux notifications avec du contenu personnalisé avec une icône et d'autres modifications pour correspondre à toutes les autres notifications. Nous examinerons de plus près les changements sur le terrain.

Des notifications plus rapides et plus réactives

Les notifications doivent offrir un chemin clair et rapide pour atteindre une certaine section d'une application. Pour cette raison, les développeurs doivent s'assurer que les notifications déclenchent le démarrage direct de l'activité, plutôt que d'utiliser un récepteur de diffusion intermédiaire ou service pour démarrer l'activité (une approche que Google appelle Notification Trampoline). Les trampolines de notification peuvent entraîner des retards importants et affecter l'expérience utilisateur, et donc, Android 12 bloquera ces trampolines de notification en les empêchant de lancer leur cible Activités. Google demande aux développeurs de s'éloigner d'une telle pratique. Ce changement s'applique uniquement aux applications ciblant la nouvelle plateforme, mais pour toutes les applications, Google affichera un toast pour rendre les trampolines visibles au développeur et aux utilisateurs.

Appels Binder IPC améliorés

Google s'est concentré sur la réduction de la variabilité du système en optimisant la latence et la répartition de la charge de travail, ce qui réduit l'expérience médiane pour des cas d'utilisation de 99 % du centile. Cela a abouti à des améliorations des appels du classeur système, en ajoutant des stratégies de mise en cache légères et en se concentrant sur la suppression des conflits de verrouillage pour améliorer la distribution de la latence. Google affirme que cela a entraîné une augmentation globale des performances d'environ 2 fois sur les appels Binder, avec des améliorations significatives dans des appels spécifiques tels que refContentProvider() (amélioration 47x), releaseWakeLock() (amélioration 15x), et JobScheduler.schedule() (amélioration de 7,9x).


Compatibilité des applications sous Android 12

Dans cette section, Google parle de rendre les mises à jour plus rapides et plus fluides pour les développeurs et les utilisateurs. Les modifications apportées aux applications sont facultatives pour donner aux développeurs plus de temps pour s'adapter à la nouvelle plate-forme.

Project Mainline / Mises à jour du système Google Play: ART et plus

Comme nous l'avons compris l'année dernière elle-même, Google fait la transition d'ART vers un module Project Mainline. Cela permettra à Google d'améliorer les performances et l'exactitude de l'exécution, de gérer le cœur de la mémoire plus efficacement et d'accélérer les opérations Kotlin, le tout sans nécessiter une mise à jour complète du système.

De plus, certaines des fonctions mentionnées dans cet article d'actualité sont également fournies via Project Mainline. Par exemple, la fonctionnalité de transcodage transparent est fournie via un module pouvant être mis à jour, ce qui indique que cela pourrait très bien être l'avenir d'Android.

Optimisation pour les tablettes, les appareils pliables et les téléviseurs

Google publie également le premier aperçu d'Android 12 pour Android TV. Avec cela, vous bénéficiez non seulement des dernières fonctionnalités Android sur le téléviseur, mais vous pouvez également tester les nouvelles Google TV expérience.

Listes mises à jour des interfaces non SDK

Avec cette version, Google a interfaces supplémentaires non-SDK restreintes.

Modifications de test et de débogage plus faciles

Introduit avec Android 11, Google permet de tester et de déboguer plus facilement les modifications grâce à des bascules d'activation pour les modifications présentées individuellement à partir des options du développeur ou via ADB.

Jalon de stabilité de la plateforme

Tout comme l'année dernière, Google prévoit d'atteindre le cap de stabilité de la plate-forme pour cette version, afin de permettre aux développeurs d'avoir des informations concrètes. connaissances sur les API SDK/NDK finales et sur toutes les API internes finales et les comportements du système face aux applications dont ils ont besoin pour préparer leur application pour. Google s'attend à atteindre la stabilité de la plate-forme Android 12 d'ici août 2021.


Téléchargez et installez Android 12 Developer Preview 1

Vous pouvez facilement téléchargez la dernière version d'aperçu du développeur Android 12 à partir des liens présents dans notre article dédié, qui sera également mis à jour avec des liens de téléchargement pour les prochaines versions.

Google publie officiellement cette mise à jour d'aperçu pour les développeurs pour :

  • Pixel 5
  • Pixel 4a 5G
  • Pixel 4a
  • Pixel4
  • Pixel 4 XL
  • Pixel 3a
  • Pixel 3a XL
  • Pixel 3
  • Pixel 3 XL

De plus, nous avons instructions d'installation disponibles pour Android 12 Developer Preview 1 pour les itinéraires d'installation courants tels que Recovery, ADB et Fastboot pour les appareils Pixel susmentionnés, et via un GSI pour tous les autres appareils compatibles Project Treble.