La société Google a présenté la première version bêta de sa plateforme mobile ouverte Android 14. Le lancement d'Android 14 est prévu pour le troisième trimestre de 2023. Pour évaluer les nouvelles fonctionnalités de la plateforme, un programme de test préliminaire a été proposé. Des builds de firmware ont été préparés pour les appareils Pixel 7/7 Pro, Pixel 6/6a/6 Pro, Pixel 5/5a 5G et Pixel 4a (5G).
Nouveautés clés d'Android 14 :
- Des efforts ont été poursuivis pour améliorer les performances de la plateforme sur les tablettes et les appareils à écran pliable. Les recommandations pour le développement d'applications pour les appareils à grands écrans ont été mises à jour et des modèles d'interface pour grands écrans ont été ajoutés, prenant en compte des usages tels que les réseaux sociaux, la communication, le contenu multimédia, la lecture et les achats. Un pré-lancement du SDK Cross device a été proposé avec des outils pour le développement d'applications fonctionnant correctement sur différents types d'appareils (smartphones, tablettes, téléviseurs intelligents, etc.) et différents facteurs de forme.
- L'optimisation de la coordination des travaux de fond gourmands en ressources a été réalisée, comme le téléchargement de fichiers volumineux en présence d'une connexion Wi-Fi. Des modifications ont été apportées à l'API des services prioritaires (Foreground Service) et à la planification des tâches (JobScheduler), à laquelle de nouvelles fonctionnalités pour les travaux initiés par l'utilisateur, liés au transfert de données, ont été ajoutées. Des exigences pour spécifier le type de services prioritaires lancés (travail avec la caméra, synchronisation des données, lecture de données multimédias, suivi de localisation, accès au microphone, etc.) ont été introduites. Il a été simplifié de définir les conditions d'activation du téléchargement de données, par exemple, pour télécharger uniquement en accès Wi-Fi.
- Le système interne de diffusion de messages aux applications (broadcast system) a été optimisé pour réduire la consommation d'énergie et améliorer la réactivité. La réception des flux de messages enregistrés par les applications a été améliorée — les messages peuvent être mis en file d'attente, agrégés (par exemple, une série de messages BATTERY_CHANGED sera regroupée en un seul) et livrés uniquement après que l'application a quitté l'état mis en cache.
- L'utilisation dans les applications de la fonction d'exécution d'opérations à une heure précise (exact alarms) nécessite désormais l'obtention d'une autorisation distincte SCHEDULE_EXACT_ALARM, car l'application de cette fonctionnalité peut avoir un impact négatif sur l'autonomie de la batterie et entraîner une consommation accrue de ressources (pour les tâches exécutées selon un calendrier, il est recommandé d'utiliser l'activation à un moment approximatif). Les applications avec une mise en œuvre de calendrier et d'horloge utilisant une activation à une heure précise doivent obtenir l'autorisation USE_EXACT_ALARM lors de l'installation. Les publications dans le catalogue Google Play des applications avec l'autorisation USE_EXACT_ALARM ne sont autorisées que pour les programmes mettant en œuvre un réveil, un minuteur et un calendrier avec des notifications d'événements.
- Les capacités de mise à l'échelle des polices ont été étendues, le niveau maximal de mise à l'échelle des polices a été augmenté de 130 % à 200 %, et pour que le texte ne paraisse pas trop grand lors d'un grand agrandissement, il est désormais appliqué un changement non linéaire du niveau de mise à l'échelle (le texte déjà grand est agrandi moins que le petit).

- Il est désormais possible d'indiquer les paramètres de langue liés à des applications individuelles. Le développeur de l'application peut maintenant modifier les paramètres localeConfig via l'appel de LocaleManager.setOverrideLocaleConfig pour déterminer la liste des langues affichées pour l'application dans l'interface de réglage d'Android.
- L'API Grammatical Inflection a été ajoutée pour faciliter l'ajout de traductions des éléments de l'interface prenant en compte les langues avec un système de genres.
- Pour éviter l'interception des requêtes intent par des applications malveillantes, la nouvelle version interdit l'envoi d'intents sans spécification explicite du package ou du composant interne.
- La sécurité du chargement dynamique de code (DCL, Dynamic Code Loading) a été renforcée — pour éviter l'injection de code malveillant dans des fichiers exécutables chargés dynamiquement, ces fichiers doivent désormais avoir des permissions permettant uniquement la lecture.
- L'installation d'applications pour lesquelles la version SDK est inférieure à 23 est interdite, ce qui permettra de bloquer la contournement des restrictions d'autorisations via la liaison à d'anciens API (la version API 22 est interdite car la version 23 (Android 6.0) a introduit un nouveau modèle de gestion des accès, permettant de demander des accès aux ressources système à la volée). Les applications précédemment installées utilisant d'anciens API continueront de fonctionner après la mise à jour d'Android.
- Un API Credential Manager a été proposé et le support de la technologie Passkeys a été implémenté, permettant à l'utilisateur de s'authentifier sans mots de passe en utilisant des identifiants biométriques, tels que des empreintes digitales ou la reconnaissance faciale.
- La prise en charge d'OpenJDK 17 a été intégrée dans Android Runtime (ART), incluant les fonctionnalités linguistiques et les classes Java fournies dans cette version, telles que les classes de type record, les chaînes multilignes et le motif matching dans l'opérateur « instanceof ».
- Pour faciliter le test des applications en tenant compte des changements dans la nouvelle version d'Android, les développeurs ont la possibilité d'activer ou de désactiver sélectivement certaines nouveautés via la section Développeur dans le configurateur ou l'outil adb.

Source : opennet.ru


