Lancement de la plateforme mobile Android 17

Google a lancé une plateforme mobile ouverte. Android 17. Связанные с новым выпуском исходные тексты размещены в Git-репозитории проекта (ветка android-17.0.0_r1). Сборки прошивки подготовлены для устройств Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel 9/9a/9 Pro/9 Pro XL/9 Pro Fold, Pixel 10/10 Pro/10 Pro XL/10 Pro Fold, Pixel Fold и Pixel Tablet. Предварительные сборки прошивок доступны для устройств HONOR, iQOO, Lenovo, OnePlus, OPPO, realme, Sharp, vivo и Xiaomi. В процессе формирования универсальные сборки GSI (Generic System Images), подходящие для разных устройств на базе архитектур ARM64 и x86_64.

Среди изменений (1, 2, 3):

  • Un nouveau mode multi-fenêtres, « Bulles », a été ajouté. Il permet de lancer n'importe quelle application dans des fenêtres flottantes, à la manière des notifications superposées pour l'envoi de messages (« bulles »), mais sans nécessiter d'API spécifique. Pour ouvrir une application dans une fenêtre flottante, il suffit d'appuyer longuement sur son icône. Sur les grands écrans, les icônes des fenêtres flottantes apparaissent dans une zone dédiée de la barre des tâches. Ces fenêtres peuvent être regroupées, déplacées et épinglées à l'écran.

  • Le développement de la plateforme pour les appareils à grand écran, tels que les tablettes, les ordinateurs portables, les ordinateurs de bureau et les smartphones à écran pliable, s'est poursuivi. Les options permettant de désactiver les nouvelles fonctionnalités sur les appareils dont l'écran dépasse 600 pixels de largeur ont été supprimées. Ces fonctionnalités empêchaient l'utilisation de certaines API de gestion du redimensionnement et de l'orientation de l'écran (screenOrientation, resizeableActivity, [min|max]AspectRatio), ainsi que le placement adaptatif des applications dans des fenêtres redimensionnables et déplaçables.

  • L'API système EyeDropper a été ajoutée, permettant aux applications d'obtenir les informations de couleur de n'importe quel pixel à l'écran sans autorisation de capture d'écran. La sécurité est assurée par une interface EyeDropper gérée par la plateforme, qui permet à l'utilisateur de sélectionner la zone à capturer, indépendamment de l'application. Ainsi, les applications ne peuvent ni demander d'informations sur un pixel spécifique, ni recréer le contenu de l'écran pixel par pixel.

  • Добавлен системный интерфейс выбора контакта из адресной книги, доступ к которому предоставляется при получении полномочия ACTION_PICK_CONTACTS. Интерфейс позволяет обойтись без предоставления полномочия READ_CONTACTS, позволяющего прочитать все контактные данные. При вызове нового интерфейса пользователь принимает решение о том, какую именно информацию из адресной книги передать приложению с возможностью выбора только отдельных полей.

  • L'API PhotoPickerUiCustomizationParams a été ajoutée pour personnaliser l'interface du sélecteur de photos et l'adapter au style de l'application appelante. Par exemple, vous pouvez modifier le format des vignettes, par exemple de 1:1 (carré) à 9:16 (portrait).

  • L'autorisation USE_LOCATION_BUTTON a été ajoutée, vous permettant d'intégrer un bouton système à l'interface de votre application pour autoriser l'accès aux données de géolocalisation précises. Ce bouton est généré par le système et, lorsqu'un utilisateur clique dessus, autorise l'accès aux données de géolocalisation uniquement pour la durée de la session en cours.

  • Un paramètre a été ajouté qui permet de masquer l'affichage des noms des applications sous leurs icônes.
  • Le design de la barre d'outils d'enregistrement d'écran a été modifié.

  • Добавлена поддержка экранных реакций (Screen Reactions), совмещающих запись видео с передней камеры с созданием скринкаста для наложения своих комментариев к действиям на экране.


  • Добавлен режим для игр на устройствах со складными экранами, при котором одна половина раскладного экрана используется для отображения игрового процесса, а другая для виртуального геймпада.

  • Ajout d'une API Handoff permettant de transférer l'état d'une application à une autre à proximité. Android-appareil (par exemple, une tablette) et continuez à travailler dessus.

  • Mise en place de fenêtres ancrées interactives qui, contrairement aux fenêtres image dans l'image traditionnelles, restent interactives lorsqu'elles sont ancrées par-dessus d'autres applications en mode bureau.
  • Deux nouvelles API ont été ajoutées : l’API UWB DL-TDOA pour déterminer la position d’un appareil à l’intérieur d’un bâtiment à l’aide du Wi-Fi pour la navigation intérieure ; et l’API de détection de proximité pour détecter les appareils à proximité via le Wi-Fi.
  • La prise en charge du format vidéo VVC (Versatile Video Coding), également connu sous le nom de norme de compression vidéo H.266, a été ajoutée. Ce format a été développé conjointement par les groupes de travail MPEG (ISO/IEC JTC 1) et VCEG (ITU-T), avec la participation d'entreprises telles qu'Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm et Sony. Le H.266 remplace le H.265 (HEVC) et offre une transmission et un stockage haute efficacité pour toutes les résolutions d'écran (de la SD et de la HD à la 4K et à la 8K), prend en charge la vidéo à grande gamme dynamique (HDR) et la vidéo panoramique à 360 degrés.
  • La possibilité d'enregistrer des vidéos à qualité constante a été ajoutée. Ce mode se configure dans l'objet MediaRecorder à l'aide de la méthode setVideoEncodingQuality(), ce qui permet de verrouiller le niveau de qualité quel que soit le débit binaire.
  • Добавлена поддержка формата изображений RAW14, применяемого в профессиональных цифровых камерах и обеспечивающего хранение 15 бит на цветовой канал.
  • Добавлено поддержка формата HDR-видео Eclipsa Video.
  • Ajout d'un encodeur logiciel pour le format audio HE-AAC (High-Efficiency Advanced Audio Coding), prenant en charge les débits binaires faibles et élevés.
  • Une nouvelle autorisation, ACCESS_LOCAL_NETWORK, a été ajoutée afin de restreindre l'accès des applications au réseau local. Cette autorisation leur permet d'identifier et de se connecter aux appareils du réseau local, tels que les objets connectés et les systèmes multimédias. Elle a été mise en place pour empêcher les applications malveillantes d'analyser les ressources du réseau local, par exemple pour identifier subrepticement l'environnement de l'utilisateur.
  • La protection contre l'interception des mots de passe à usage unique (OTP) et des codes de confirmation envoyés par SMS a été renforcée. La plupart des applications n'ont désormais accès à ces messages que trois heures après leur réception. Le lecteur de SMS par défaut les affiche immédiatement.
  • Реализована защита от звонков мошенников, представляющихся сотрудниками банка. Платформа может взаимодействовать с установленными банковскими приложениями для подтверждения того, что звонок инициирован банком. Также банки могут определять номера телефонов на которых допускаются только входящие звонки.
  • Добавлена возможность предоставления приложениям временного доступа к данным о точном местоположении, действующего только в течение текущего сеанса работы с программой.
  • Механизм защиты динамической загрузки кода (DCL, Dynamic Code Loading) расширен для применения с нативными библиотеками, загружаемыми через метод System.load(), а не только
    файлами в форматах DEX и JAR. DCL позволяет избежать подстановки вредоносного кода в динамически загружаемые исполняемые файлы, благодаря выставлению для подобных файлов прав доступа, допускающих только чтение.
  • Le mécanisme de transparence des certificats est activé par défaut, et conserve un journal public de tous les certificats émis et révoqués.
  • La possibilité de certifier les packages APK avec une signature numérique basée sur un algorithme hybride combinant l'algorithme classique avec l'algorithme ML-DSA, résistant aux attaques par force brute sur un ordinateur quantique, a été introduite.
  • Для приложений, работающих в фоновом режиме, ограничен доступ к API для воспроизведения звука, подключения к звуковым устройствам и изменения громкости. Подразумевается, что только активные приложения, с которыми в данный момент взаимодействует пользователь, могут начинать воспроизведение и менять громкость.
  • Ajout de la prise en charge du chiffrement hybride basé sur le mécanisme HPKE (Hybrid Public Key Encryption, RFC 9180), qui combine la facilité de transfert de clés du chiffrement à clé publique avec les hautes performances du chiffrement symétrique (les données sont chiffrées avec une clé symétrique rapide et la clé elle-même est chiffrée avec une clé asymétrique lente).
  • При вводе паролей и PIN-кодов при помощи физической клавиатуры по умолчанию отключено отображение последнего введённого символа по мере набора.
  • Pour simplifier l'intégration du pavé tactile dans les jeux, la gestion des événements souris et pavé tactile a été unifiée. Par défaut, les événements du pavé tactile liés aux mouvements du pointeur et au défilement sont désormais convertis en coordonnées relatives, comme pour une souris. L'accès aux coordonnées absolues est possible en spécifiant explicitement le mode POINTER_CAPTURE_MODE_ABSOLUTE.
  • La méthode getInitialRestingBounds() a été ajoutée à l'objet ChooserSession, vous permettant de connaître la position et la taille finales de la boîte de dialogue Chooser une fois l'animation terminée et les données chargées.
  • Ajout des méthodes getStreamingAppMaxDownlinkKbps et getStreamingAppMaxUplinkKbps pour déterminer la bande passante maximale du canal de communication afin de sélectionner le niveau de qualité de la diffusion.
  • Une API a été fournie aux fabricants de matériel pour créer des extensions de caméra permettant des fonctionnalités spécifiques à l'application, telles que le moteur d'amélioration des détails en super résolution, les modes de réduction du bruit et les optimiseurs de qualité IA.
  • Ajout d'une API permettant d'obtenir des informations sur le type de caméra (caméra intégrée, webcam USB ou caméra virtuelle).
  • La prise en charge des appareils auditifs connectés via Bluetooth Low Energy (BLE) a été ajoutée. Ces appareils sont désormais classés dans la nouvelle catégorie TYPE_BLE_HEARING_AID, ce qui permet aux applications de faire la distinction entre les appareils auditifs et les écouteurs et de contrôler séparément la lecture du son du système (par exemple, vous pouvez diffuser les notifications, les sonneries et les alarmes sur le haut-parleur intégré de votre téléphone plutôt que sur votre appareil auditif).
  • Des paramètres distincts ont été ajoutés pour l'affichage des mots de passe saisis au clavier physique et sur l'écran tactile. Par défaut, les caractères du mot de passe saisis au clavier physique sont immédiatement masqués.
  • Amélioration de l'affichage des widgets d'application sur les écrans externes grâce à la prise en compte des différences de DPI lors de la mise à l'échelle.
  • Ajout de la requête ACTION_VPN_APP_EXCLUSION_SETTINGS, qui peut être utilisée pour ouvrir un écran système contenant des paramètres permettant à une application d'accéder au réseau en contournant le tunnel VPN.
  • Ajout de la prise en charge des fonctionnalités du langage OpenJDK 25 et des classes Java.
  • Les fonctionnalités de l'API caméra ont été étendues. La méthode `updateOutputConfigurations()` a été ajoutée à l'objet `CameraCaptureSession` pour permettre l'ajout ou le retrait dynamique de zones de sortie, sans avoir à reconfigurer l'intégralité de la session de capture. Cette modification permet de basculer facilement entre différents modes de caméra (par exemple, enregistrement vidéo et prise de photos). Lors de l'utilisation de caméras logiques réparties sur plusieurs capteurs physiques, il est désormais possible de récupérer les métadonnées de chaque capteur, et non plus seulement du capteur principal.
  • L'attribut android:usesCleartextTraffic, qui permettait aux applications de transmettre du trafic non chiffré, comme les requêtes « http:// », est obsolète. Si le trafic non chiffré est nécessaire, il convient d'utiliser des fichiers de configuration de sécurité distincts.
  • Ajout de paramètres pour la gestion de l'historique des appels VoIP, vous permettant de contrôler si les informations sont enregistrées dans les journaux et si les informations relatives aux appels terminés sont affichées dans l'interface.
  • L'API Wi-Fi RTT (temps d'aller-retour) a été étendue pour fournir une estimation continue de la proximité des points d'accès et une détection sécurisée des nœuds peer-to-peer.
  • De nouveaux profils ont été ajoutés à CompanionDeviceManager pour demander des autorisations et activer les interactions de l'application avec les dispositifs médicaux et les traqueurs d'activité physique.
  • В Android L'environnement d'exécution (ART) implémente un ramasse-miettes générationnel (Generational Concurrent Mark-Compact Garbage Collector), qui sépare le traitement des objets « anciens » et « récents », améliorant ainsi l'efficacité du nettoyage des objets récemment créés et à courte durée de vie. L'utilisation d'un ramasse-miettes générationnel réduit le risque de blocages lors de l'allocation des ressources et la charge du processeur, améliorant ainsi l'efficacité énergétique.
  • Реализовано ограничение на максимальный объём оперативной памяти, которое может занимать приложение. При превышении лимита, вычисляемого на основе имеющегося в устройстве ОЗУ, приложение принудительно завершается. Для сокращения размера потребляемой памяти предложен R8 Optimizer, упаковывающий имена классов, методов и полей, а также удаляющий неиспользуемый код и ресурсы.
  • При сборке ядра Linux включена оптимизация AutoFDO (Auto-Feedback-Directed Optimization), использующая результаты профилирования c информацией о частоте выполнения различных участков кода для повышения производительности часто выполняемых операций. В проведённых тестах включение AutoFDO для ядра привело к сокращению времени загрузки на 2.1%, ускорению первого запуска программ на 4.3%, повышению эффективности системных вызовов на 9.3%, сокращению времени выполнения mmap-транзакций Binder на 12.3%, HwBinder на 20% и Binder RPC на 21.7%.
  • Une nouvelle implémentation de la file d'attente de messages android.os.MessageQueue est proposée, fonctionnant sans verrous. Cette nouvelle implémentation améliore les performances et réduit la perte d'images.
  • Demandes de soutien Android À partir de la version 17, la modification des valeurs des champs marqués comme « static final » est interdite, ce qui permet d'activer des optimisations de performances plus agressives lors de l'exécution.
  • Afin de réduire la consommation de mémoire, la taille des mises en page personnalisées des notifications a été limitée.
  • Des déclencheurs supplémentaires TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM et TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE ont été ajoutés au profileur ProfilingManager pour collecter des données utiles au débogage des problèmes de performance.

Source: opennet.ru

Achetez un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Achetez un hébergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster