La société Google lancement d'une plateforme mobile ouverte . Les textes sources associés à la nouvelle version sont disponibles dans le projet (branche android-11.0.0_r1). Les mises à jour du firmware ont été préparées pour les appareils de la série , ainsi que pour les smartphones de OnePlus, Xiaomi, OPPO et Realme. De plus, des builds universels GSI (Generic System Images) adaptés à différents appareils basés sur les architectures ARM64 et x86_64 ont été intégrés.
:
- Des modifications ont été apportées pour faciliter la communication des personnes via leur smartphone. Dans la zone des notifications déroulante en haut de l'écran, une section récapitulative des messages permet de consulter et répondre à des messages de toutes les applications en un seul endroit (les messages sont affichés sans séparation entre les différentes applications). Les discussions importantes peuvent être marquées comme prioritaires, de sorte qu'elles restent visibles et apparaissent même en mode « ne pas déranger ».
Le concept de « bulles », des dialogues contextuels permettant d'effectuer des actions dans d'autres applications sans quitter le programme actuel, a été activé. Par exemple, avec les bulles, il est possible de continuer une conversation dans une messagerie, d'envoyer rapidement des messages, de garder sous les yeux une liste de tâches, de prendre des notes, de faire appel à des services de traduction et de recevoir des rappels visuels, tout en travaillant dans d'autres applications.
- Le clavier à l'écran dispose désormais d'un système de suggestions contextuelles pour répondre rapidement aux messages, proposant des emoji ou des réponses standard qui conviennent au message reçu (par exemple, en recevant un message « comment s'est passé le meeting ? », il propose « super »). Ce mécanisme est mis en œuvre grâce à l'apprentissage automatique et la plateforme , permettant de proposer des recommandations sur l'appareil local sans faire appel à des services externes.
Une interface a été proposée pour un accès rapide aux outils de gestion des appareils connectés, tels que les systèmes de gestion de la maison intelligente, qui s'active en maintenant enfoncé le bouton d'alimentation. Par exemple, il est désormais possible de corriger rapidement les paramètres du thermostat domestique, d'allumer les lumières et de déverrouiller les portes sans lancer d'applications distinctes. L'interface propose également des boutons pour un accès rapide aux systèmes de paiement liés et aux cartes d'embarquement électroniques.
De nouveaux contrôles de lecture multimédia ont été ajoutés, permettant de changer facilement et rapidement l'appareil à partir duquel la vidéo ou l'audio est diffusé. Par exemple, il est possible de passer rapidement la lecture de la musique des écouteurs à la télévision ou à des haut-parleurs externes.

- Le support de l'octroi d'autorisation unique a été ajouté, permettant à une application d'effectuer une opération privilégiée une fois et de demander à nouveau une confirmation lors de la tentative d'accès suivante. Par exemple, il est possible de configurer une demande d'autorisation à chaque accès au microphone, à la caméra ou à l'API de localisation.
Il est désormais possible de bloquer automatiquement les autorisations demandées pour les applications qui n'ont pas été lancées depuis plus de trois mois. Lors du blocage, une notification spéciale s'affiche avec la liste des applications qui n'ont pas été lancées depuis longtemps, où il est possible de restaurer les autorisations, de supprimer l'application ou de la laisser bloquée.
- Une fonctionnalité de capture d'écran avec enregistrement des modifications à l'écran et du son provenant du microphone a été ajoutée.
- Il est maintenant plus facile de sélectionner du texte et des images pour les copier dans le presse-papiers et les partager entre applications.
- Le système de contrôle vocal de l'appareil a été modernisé (), permettant de gérer le smartphone uniquement par la voix. Voice Access comprend désormais le contenu de l'écran et prend en compte le contexte, tout en générant des étiquettes pour les commandes d'accessibilité.
- La fonction « Partage à proximité » a été ajoutée pour envoyer rapidement et en toute sécurité des fichiers, vidéos, données de localisation et autres informations aux appareils Android ou avec un navigateur Chrome à proximité.
- L'Android Emulator a ajouté une fonctionnalité expérimentale permettant d'exécuter du code 32 bits et 64 bits d'applications compilées pour l'architecture ARM, dans un environnement du système d'exploitation Android 11 compilé pour l'architecture x86_64. L'émulateur prend également en charge la simulation des caméras avant et arrière. Pour la caméra arrière, l'API Camera2 API HW a été mise en œuvre avec prise en charge du traitement YUV et de la capture en mode RAW.
Pour la caméra frontale, un niveau a été mis en œuvre avec prise en charge de la caméra logique (un appareil logique basé sur deux appareils physiques avec un angle étroit et un angle large). - Le support de la norme de communication mobile 5G a été étendu, offrant une bande passante plus élevée et des latences réduites. Les applications générant une charge réseau importante, telles que le streaming vidéo en qualité 4K et le téléchargement de ressources de jeux en haute résolution, peuvent désormais fonctionner non seulement via une connexion Wi-Fi, mais également à travers un réseau mobile. Pour faciliter l'adaptation au travail des applications en prenant en compte le réseau 5G, l'API , utilisée pour vérifier si la connexion est facturée en fonction du trafic et si de gros volumes de données peuvent être transmis. Cette API couvre désormais les réseaux cellulaires et permet de déterminer la connexion à un fournisseur qui propose réellement un forfait illimité lors d'une connexion 5G. L'API État 5G a été ajoutée, permettant à l'application de déterminer rapidement une connexion via 5G dans les modes ou .
L'API a également été étendue , permettant de prévoir la taille de la bande passante disponible pour le téléchargement ou l'envoi de données, sans effectuer de tests réseau.
- Le support de nouveaux types d'écrans « pinhole » (l'écran occupe toute la surface avant du smartphone, à l'exception d'un petit cercle en haut à gauche pour la caméra frontale) et « waterfall » (l'écran couvre également les bords arrondis de l'appareil) a été ajouté. La présence de zones visibles et aveugles sur ces écrans peut désormais être déterminée par les applications à l'aide de l'API standard . Pour couvrir les bords et organiser l'interaction dans les zones adjacentes aux bords des écrans « waterfall », de nouveaux .
- De nouvelles options de contrôle pour l'accès des applications aux données personnelles ont été ajoutées. En plus du mode d'accès à la localisation introduit dans la version précédente (l'accès en arrière-plan est bloqué), Android 11 le support de permissions temporaires. L'utilisateur peut désormais accorder à une application un accès temporaire à des permissions clés, comme l'accès à la localisation, au microphone et à la caméra. La permission est valide pendant la session actuelle et est révoquée dès que l'utilisateur passe à une autre application.
- Des modifications ont été apportées pour simplifier la migration des applications vers le stockage
, permettant d'isoler les fichiers des applications sur un stockage externe (par exemple, sur une carte SD). Lors de l'utilisation du Scoped Storage, les données des applications sont limitées à un répertoire distinct, et pour accéder aux collections multimédias partagées, des autorisations supplémentaires doivent être obtenues. Android 11 a mis en œuvre le support d'un mode d'accès optionnel au stockage par chemin d'accès complet aux fichiers,
l'API DocumentsUI a été mise à jour, ajoutant la possibilité d'effectuer des opérations groupées dans MediaStore. - Les capacités ont été étendues pour des capteurs biométriques pour l'authentification. L'API BiometricPrompt, qui propose une interface universelle pour l'authentification biométrique, prend désormais en charge trois types d'authentificateurs : fiables, faibles et données d'appareil. L'intégration de BiometricPrompt avec diverses architectures d'applications a été simplifiée, sans être limitée à l'utilisation de la classe .
- Lors de la compilation des composants de la plateforme nécessitant une protection accrue, des mécanismes de protection actifs lors de la compilation ont été mis en œuvre (Contrôle de Flux d'Intégrité), , (Sanitisation des Débordements Entiers) et . Pour identifier les problèmes de gestion de la mémoire dans les applications, une vérification des pointeurs sur le tas basée sur les étiquettes qui leur sont associées (). Pour détecter les erreurs de gestion de la mémoire une image système supplémentaire, comprenant un mécanisme de débogage, (AddressSanitizer assisté par matériel).
- Un API a été préparé , permettant d'organiser un échange sécurisé de données binaires entre les applications. Par exemple, cette API peut être utilisée pour fournir à plusieurs applications l'accès à des modèles d'apprentissage automatique, lorsque ces applications sont lancées par un même utilisateur.
- Un support a été ajouté pour des plateformes de stockage et d'extraction sécurisée des documents d'identité vérifiables, tels que les permis de conduire électroniques.
- Dans le cadre du projet Mainline, qui permet de mettre à jour des composants système individuels sans mettre à jour toute la plateforme, 12 nouveaux modules mis à jour ont été préparés en plus des 10 modules disponibles sous Android 10. Les mises à jour concernent des composants non liés au matériel, qui sont téléchargés via Google Play séparément des mises à jour OTA du firmware du fabricant. Parmi les nouveaux modules pouvant être mis à jour via Google Play sans mise à jour du firmware, on trouve un module de gestion des autorisations, un module de gestion des stockages (avec support du Scoped Storage) et un module avec NNAPI (Neural Networks API).
- travail pour réduire l'impact des changements de comportement de certains sous-systèmes sur le fonctionnement des applications. Les nouveautés qui peuvent affecter le fonctionnement des applications peuvent désormais être désactivées et ajustées au niveau du SDK. Pour simplifier les tests de compatibilité des applications avec Android 11, des paramètres ont été fournis dans l'interface des options pour développeurs et dans l'outil adb pour activer et désactiver des fonctionnalités affectant la compatibilité (permettant de tester sans avoir à modifier targetSdkVersion ni à reconstruire l'application). Les listes grises des interfaces de programmation limitées non fournies dans le SDK ont été mises à jour.
- Framework ajouté , permettant de charger dynamiquement des ressources supplémentaires pendant l'exécution de l'application.
- Le service de vérification des appels a ajouté la possibilité de transmettre aux applications le statut de vérification des appels entrants, qui peut être utilisé pour générer des dialogues personnalisés après le traitement de l'appel, par exemple, incluant des actions supplémentaires pour marquer l'appel comme spam ou ajouter à la liste de contacts.
- API amélioré , permettant à l'application (gestionnaire de connexion réseau) d'influencer l'algorithme de sélection des réseaux sans fil privilégiés en transmettant une liste classée de réseaux et tenant également compte, lors du choix du réseau, de métriques supplémentaires telles que des informations sur la bande passante et la qualité de la connexion lors de la dernière connexion. La possibilité de gérer les réseaux sans fil prenant en charge la norme (Passpoint) a été ajoutée, y compris la prise en compte de l'expiration du profil utilisateur et la mise en œuvre de l'utilisation de certificats auto-signés dans les profils.
- L'API ImageDecoder a été mise à jour pour supporter le décodage et l'affichage d'images animées au format HEIF (HEIC chez Apple), utilisant les méthodes de compression HEVC (H.265). Comparé aux images animées GIF, le format HEIF permet une réduction significative de la taille du fichier.
- Le NDK a ajouté une API pour utiliser dans le code natif les opérations d'encodage et de décodage d'images (JPEG, PNG, WebP, etc.), sans avoir recours à des bibliothèques externes. La nouvelle API permet de réduire la taille des fichiers APK des applications natives et de résoudre le problème des mises à jour des bibliothèques intégrées, qui peuvent contenir des vulnérabilités.
- Les applications de photographie peuvent désormais désactiver temporairement la vibration (par exemple lors de l'affichage d'une notification) afin d'éviter son déclenchement pendant une séance photo.
- La possibilité d'activer les modes a été fournie. (flou d'arrière-plan sur la photo) pour les appareils qui les supportent (par exemple, le mode still permet une qualité de photo supérieure, tandis que le mode continuous assure une correspondance plus précise avec les données du capteur).
- Une API pour et des modes de lecture vidéo à faible latence, requis dans les applications de diffusion en direct. De plus, la prise en charge du mode de fonctionnement HDMI à faible latence (mode jeu) a été ajoutée, où le post-traitement graphique est désactivé pour réduire les latences sur le téléviseur ou le moniteur externe.
- Pour les appareils avec des écrans pliables Un API pour obtenir des informations sur l'angle d'ouverture des moitiés de l'écran. Grâce à ce nouvel API, les applications peuvent déterminer l'angle d'ouverture précis et adapter l'affichage en conséquence.
- L'API de vérification des appels a été enrichie de fonctionnalités pour détecter les appels automatisés. Pour les applications filtrant les appels, la prise en charge de la vérification de l'état des appels entrants a été mise en œuvre via pour détecter la falsification de l'identifiant de l'appelant, ainsi que retourner la raison du blocage de l'appel et modifier le contenu de l'écran système affiché après la fin de l'appel pour marquer l'appel comme du spam ou l'ajouter au carnet d'adresses.
- L'API , fournissant aux applications la capacité d'utiliser des outils d'accélération matérielle pour les systèmes d'apprentissage automatique. L'API se positionne comme une couche de base pour fonctionner dans le cadre des frameworks d'apprentissage automatique Android, tel que et Caffe2.
Le support de la fonction d'activation a été ajouté. , permettant de réduire le temps d'entraînement du réseau neuronal et d'améliorer la précision de certaines tâches, par exemple, d'accélérer le traitement des modèles de vision par ordinateur basés sur . Une opération Control a été ajoutée, permettant de créer des modèles d'apprentissage automatique plus avancés prenant en charge les bifurcations et les cycles. Un API Asynchronous Command Queue a été mis en œuvre pour réduire les délais lors du lancement en chaîne de petits modèles connexes.
Pour une utilisation sur des appareils mobiles, un certain nombre de modèles de réseaux neuronaux prêts à l'emploi ont été proposés, y compris (reconnaissance d'objets sur des photos), (vision par ordinateur) et Réponse
Intelligente (suggérer des réponses aux messages). le support de la quantification avancée utilisant des entiers signés au lieu de nombres à virgule flottante a été introduit, ce qui permet de réduire la taille des modèles et d'accélérer leur traitement. De plus, des fonctionnalités pour gérer les priorités et les délais d'exécution des modèles ont été ajoutées à l'API Quality of Service, tandis que l'API Domain de Mémoire a été élargie pour réduire les opérations de copie et de transformation de mémoire lors de l'exécution séquentielle des modèles. - Des types de services en arrière-plan distincts pour la caméra et le microphone ont été ajoutés, qui devront être demandés si l'application a besoin d'accéder à la caméra et au microphone en mode inactif.
- De nouvelles API ont été ajoutées pour affichage des éléments d'interface des applications avec l'apparition du clavier à l'écran pour organiser une animation de sortie plus fluide en informant l'application des changements au niveau des images individuelles.
- API pour contrôler la fréquence de rafraîchissement de l'écran, permettant d'établir une fréquence différente pour les fenêtres de certains jeux et applications (par exemple, par défaut, Android utilise une fréquence de rafraîchissement de 60 Hz, mais certains appareils permettent de l'augmenter jusqu'à 90 Hz).
- mode de reprise sans couture après l'installation d'une mise à jour OTA du firmware nécessitant un redémarrage de l'appareil. Le nouveau mode permet aux applications de conserver l'accès au stockage chiffré sans que l'utilisateur n'ait besoin de déverrouiller l'appareil après le redémarrage, c'est-à-dire que les applications pourront immédiatement continuer à remplir leurs fonctions et à recevoir des messages. Par exemple, l'installation automatique de la mise à jour OTA peut être programmée la nuit et réalisée sans intervention de l'utilisateur.
- Ajouté pour obtenir des informations sur les raisons de l'arrêt du programme, permettant de déterminer si le programme a été arrêté par l'utilisateur, à la suite d'un plantage ou a été arrêté de force par le système d'exploitation. L'API permet également d'évaluer l'état du programme juste avant son arrêt.
- Ajouté , un analyseur de mémoire dans le tas, permettant de détecter et de corriger les problèmes causés par une utilisation non sécurisée de la mémoire. GWP-ASan analyse les opérations de répartition de la mémoire avec un minimum de surcharge et détecte les anomalies. Par défaut, GWP-ASan est activé pour les fichiers exécutables de la plateforme et les applications système. Pour appliquer GWP-ASan à vos applications, une activation séparée est nécessaire.
- Dans l'utilitaire ADB (Android Debug Bridge) le mode d'installation incrémentiel des paquets APK («adb install —incremental»), permettant d'accélérer considérablement l'installation de gros programmes, comme les jeux, pendant leur développement. L'idée du mode est que lors de l'installation, les parties nécessaires au lancement du paquet sont transférées en premier, et le reste est chargé en arrière-plan, sans bloquer la possibilité de lancer le programme. Par exemple, lors de l'installation de fichiers APK de plus de 2 Go, dans ce nouveau mode, le temps d'attente avant de pouvoir lancer le programme est réduit jusqu'à 10 fois. Les installations incrémentielles fonctionnent actuellement uniquement sur les appareils Pixel 4 et 4XL, et le nombre d'appareils pris en charge sera élargi d'ici la sortie.
- Entièrement mode de débogage avec lancement d'ADB via une connexion sans fil. Contrairement au débogage avec connexion TCP/IP, le débogage via Wi-Fi ne nécessite pas de connexion par câble pour la configuration et peut mémoriser les précédentes associations d'appareils. Il est également prévu de mettre en place un système d'association plus simple via un code QR affiché dans Android Studio.
- Les outils pour accéder aux données ont été mis à jour, permettant d'analyser quelles données utilisateur sont accédées par l'application et après quelles actions de l'utilisateur. appels à l'API d'audit ont été renommés.
- Un mode « Ethernet tethering » a été ajouté, permettant d'accéder à Internet via un smartphone en utilisant des adaptateurs Ethernet connectés via le port USB.
- Une section dans les paramètres a été ajoutée pour l'historique des notifications et la possibilité de programmer l'activation du thème sombre.

Source : opennet.ru

