Выпуск мабільнай платформы Android 17

Кампанія Google апублікавала рэліз адчыненай мабільнай платформы 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):

  • Дададзены новы рэжым шматаконнай працы — «Bubbles», які дазваляе запускаць любыя прыкладанні ў плывучых вокнах, якія нагадваюць якія адлюстроўваюцца па-над іншым кантэнтам апавяшчэння для адпраўкі паведамленняў («бурбалкі»), але не прывязаныя да спецыялізаванага API. Адкрыццё прыкладання ў плавае акне ажыццяўляецца праз утрыманне націску на піктаграму прыкладання. На вялікіх экранах піктаграмы якія плаваюць вокнаў адлюстроўваюцца ў асобнай вобласці на панэлі задач. Падобныя вокны можна групаваць, перамяшчаць і замацоўваць на экране.

  • Працягнута развіццё платформы для прылад з вялікімі экранамі, такімі як планшэты, наўтбукі, настольныя сістэмы і смартфоны са складанымі экранамі. Прыбраныя раней якія дзейнічалі опцыі для адключэння новых паводзін на прыладах з экранамі шырынёй больш 600 умоўных пікселяў (dp), злучанага з ігнараваннем некаторых API для кіравання зменай памеру і арыентацыяй экрана (screenOrientation, resizeableActivity, [min|max]AspectRatio), а таксама адаптыўным змесцаваны перамяшчэнне па экране.

  • Дададзены сістэмны API EyeDropper API, пры дапамозе якога прыкладанне можа атрымаць інфармацыю аб колеры любога пікселя на экране без неабходнасці атрымання паўнамоцтваў на захоп экрана. Бяспека забяспечваецца дзякуючы таму, што карыстач сам выбіраць вобласць для вызначэння колеру праз кіраваны платформай інтэрфейс c «піпеткай, не падкантрольны з дадаткам, г.зн. прыкладанне не можа запытаць інфармацыю аб канкрэтным пікселі і папіксэльна ўзнавіць змесціва экрана.

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

  • Дададзены API PhotoPickerUiCustomizationParams для змены інтэрфейсу выбару фатаграфій, што дазваляе наблізіць яго да стылю выклікалага прыкладання. Напрыклад, можна змяніць суадносіны бакоў эскізаў фатаграфій з 1:1 (квадрат) на 9:16 (партрэт).

  • Дададзена паўнамоцтва USE_LOCATION_BUTTON, якое дазваляе ўбудаваць у інтэрфейс прыкладання сістэмную кнопку прадастаўлення доступу да дакладных дадзеных аб месцазнаходжанні. Кнопка адмалёўваецца сістэмай і пасля націску карыстачом адчыняе доступ да месцазнаходжання толькі на час дзеяння бягучага сеансу.

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

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


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

  • Дададзены API Handoff, які дазваляе перадаць стан прыкладання на якое знаходзіцца паблізу іншае Android-прылада (напрыклад, планшэт) і працягнуць тамака працу.

  • Рэалізаваны інтэрактыўныя замацаваныя вокны, якія ў адрозненне ад традыцыйных вокнаў у рэжыме «малюначак у малюнку» (Picture-in-Picture) застаюцца інтэрактыўнымі пры замацаванні па-над іншымі прыкладаннямі ў дэсктоп-рэжыме.
  • Дададзеныя два новыя API: API UWB DL-TDOA - вызначэнне пазіцыі прылады ўнутры будынка пры дапамозе Wi-Fi для навігацыі ў памяшканнях; API Proximity Detection для выяўлення якія знаходзяцца паблізу прылад праз Wi-Fi.
  • Дададзена падтрымка фармату відэа VVC (Versatile Video Coding), вядомага таксама як стандарт сціску відэа H.266, распрацаваны сумесна працоўнымі групамі MPEG (ISO/IEC JTC 1) і VCEG (ITU-T), пры ўдзеле такіх кампаній, як Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm і Sony. H.266 ідзе на змену H.265 (HEVC) і забяспечвае высокую эфектыўнасць перадачы і захоўванні ўсіх экранных дазволаў (ад SD і HD да 4K і 8K), падтрымлівае відэа з пашыраным дынамічным дыяпазонам (HDR, High Dynamic Range) і панарамнае відэа ў рэжыме 360 градусаў.
  • Дададзена магчымасць запісу відэа з пастаянным узроўнем якасці. Рэжым наладжваецца ў аб'екце MediaRecorder, выкарыстаючы метад setVideoEncodingQuality(), які дазваляе зафіксаваць узровень якасці без прывязкі да бітрэйту.
  • Добавлена поддержка формата изображений RAW14, применяемого в профессиональных цифровых камерах и обеспечивающего хранение 15 бит на цветовой канал.
  • Добавлено поддержка формата HDR-видео Eclipsa Video.
  • Дададзены праграмны кадавальнік гукавога фармату HE-AAC (High-Efficiency Advanced Audio Coding), які падтрымлівае як нізкія, так і высокія бітрэйты.
  • Дададзена новае паўнамоцтва ACCESS_LOCAL_NETWORK для абмежавання доступу дадаткаў да лакальнай сеткі. Наяўнасць дадзенага паўнамоцтва дазваляе прыкладанням вызначаць і падлучацца да прылад у лакальнай сетцы, напрыклад, да прылад разумнай хаты і мультымедыйным сістэмам. Паўнамоцтвы дададзена каб блакаваць сканаванне шкоднаснымі прыкладаннямі рэсурсаў у лакальнай сетцы, напрыклад, для ўтоенай ідэнтыфікацыі асяроддзя карыстача.
  • Пашыраная абарона ад перахопу аднаразовых пароляў (OTP) і кодаў пацверджання, якія адпраўляюцца праз SMS. Прамы доступ да падобных паведамленняў зараз адкрываецца большасці прыкладанняў толькі праз тры гадзіны пасля паступлення паведамлення. У штатным дадатку для чытання SMS падобныя паведамленні паказваюцца адразу.
  • Реализована защита от звонков мошенников, представляющихся сотрудниками банка. Платформа может взаимодействовать с установленными банковскими приложениями для подтверждения того, что звонок инициирован банком. Также банки могут определять номера телефонов на которых допускаются только входящие звонки.
  • Добавлена возможность предоставления приложениям временного доступа к данным о точном местоположении, действующего только в течение текущего сеанса работы с программой.
  • Механизм защиты динамической загрузки кода (DCL, Dynamic Code Loading) расширен для применения с нативными библиотеками, загружаемыми через метод System.load(), а не только
    файлами в форматах DEX и JAR. DCL позволяет избежать подстановки вредоносного кода в динамически загружаемые исполняемые файлы, благодаря выставлению для подобных файлов прав доступа, допускающих только чтение.
  • Уключаны па змаўчанні механізм Certificate Transparency, кіроўны публічны лог усіх выдадзеных і адкліканых сертыфікатаў,
  • Дадзена магчымасць запэўнення APK-пакетаў лічбавым подпісам на базе гібрыднага алгарытму, які спалучае класічны алгарытм з алгарытмам ML-DSA, устойлівым ад падбору на квантавым кампутары.
  • Для приложений, работающих в фоновом режиме, ограничен доступ к API для воспроизведения звука, подключения к звуковым устройствам и изменения громкости. Подразумевается, что только активные приложения, с которыми в данный момент взаимодействует пользователь, могут начинать воспроизведение и менять громкость.
  • Дададзеная падтрымка гібрыднага шыфравання на аснове механізму HPKE (Hybrid Public Key Encryption, RFC 9180), які сумяшчае прастату перадачы ключа ў шыфраванні з адчыненым ключом з высокай прадукцыйнасцю сіметрычнага шыфравання (дадзеныя шыфруюцца хуткім сіметрычным ключом, а сам мятрычным ключом, а сам самэметрам ключом, а сам
  • При вводе паролей и PIN-кодов при помощи физической клавиатуры по умолчанию отключено отображение последнего введённого символа по мере набора.
  • Для спрашчэння рэалізацыі падтрымкі тачпадаў у гульнях уніфікавана апрацоўка падзей ад мышы і тачпада - па змаўчанні падзеі тачпада, звязаныя з перамяшчэннем паказальніка і жэстамі пракруткі, зараз пераўтворацца ў фармат з адноснымі каардынатамі, як для мышы. Доступ да абсалютных каардынатаў падаецца пры відавочным указанні рэжыму POINTER_CAPTURE_MODE_ABSOLUTE.
  • У аб'ект ChooserSession дададзены метад getInitialRestingBounds(), які дазваляе пазнаць фінальную пазіцыю і памер дыялогу выбару (Chooser) пасля спынення анімацыі і загрузкі дадзеных.
  • Дададзены метады getStreamingAppMaxDownlinkKbps і getStreamingAppMaxUplinkKbps для вызначэння максімальнай прапускной здольнасці канала сувязі з мэтай выбару ўзроўню якасці пры струменевым вяшчанні.
  • Вытворцам абсталявання прадстаўлены API для стварэння пашырэнняў для камер, якія дазваляюць выкарыстоўваць у дадатках спецыфічныя магчымасці, такія як механізм паляпшэння дэталізацыі Super Resolution, рэжымы падаўлення шумоў і AI-аптымізатары якасці.
  • Дададзены API для атрымання інфармацыі аб тыпе камеры (убудаваная камера, якая падключаецца праз USB web-камера або віртуальная камера).
  • Дададзена падтрымка слыхавых апаратаў, якія падключаюцца праз інтэрфейс Bluetooth Low Energy (BLE). Падобныя прылады аднесены да новай катэгорыі TYPE_BLE_HEARING_AID, што дазваляе прыкладанням падзяляць слыхавыя апараты і навушнікі, а таксама асобна кіраваць прайграваннем сістэмных гукаў (напрыклад, можна прайграваць гукі апавяшчэнняў, званкоў і будзільніка на ўбудаваным дынаміцы тэлефона, а не на слыхавым ).
  • Дададзены паасобныя налады для ўключэння паказу пароля, які ўводзіцца на фізічнай клавіятуры і на сэнсарным экране. Па змаўчанні знакі пароля, якія ўводзяцца пры дапамозе фізічнай клавіятуры, адразу хаваюцца.
  • Палепшана адлюстраванне віджэтаў дадаткаў на знешніх экранах, за кошт уліку розніцы ў DPI пры маштабаванні.
  • Дададзены запыт ACTION_VPN_APP_EXCLUSION_SETTINGS, пры дапамозе якога можна выклікаць сістэмны экран з наладамі, якія дазваляюць адкрыць з дадаткам сеткавы доступ у абыход VPN-тунэля.
  • Дададзена падтрымка даступных у OpenJDK 25 магчымасцяў мовы і Java-класаў.
  • Пашыраны магчымасці праграмных інтэрфейсаў для працы з камерай. У аб'ект CameraCaptureSession дададзены метад updateOutputConfigurations() для прымацавання ці адключэнні на лёце абласцей высновы без неабходнасці пераналадкі ўсяго сеансу захопу дадзеных з камеры. На практыцы змена дазваляе рэалізаваць плыўнае пераключэнне паміж рознымі рэжымамі працы камеры (напрыклад, запісам відэа і здымкай фатаграфій). Пры працы з лагічнымі камерамі, якія ахопліваюць некалькі фізічных сэнсараў, дададзена магчымасць атрымання метададзеных аб кожным сэнсары, а не толькі аб першасным.
  • Абвешчаны састарэлым атрыбут android:usesCleartextTraffic, які дазваляў з дадаткам перадачу незашыфраванага трафіку, напрыклад, звароты па "http://". Пры неабходнасці выкарыстання незашыфраванага трафіку трэба выкарыстоўваць асобныя файлы з наладамі бяспекі.
  • Дададзеныя налады для кіравання гісторыяй VoIP-выклікаў, якія дазваляюць кіраваць захаваннем звестак у логах і паказам у інтэрфейсе інфармацыі аб здзейсненых выкліках.
  • У API Wi-Fi RTT (Round-Trip-Time) пашыраны магчымасць бесперапыннага вызначэння прыблізнай адлегласці да кропак доступу і бяспечнага вызначэння вузлоў для P2P-злучэнняў (peer-to-peer).
  • У CompanionDeviceManager дададзены новыя профілі для запыту паўнамоцтваў і ўзаемадзеяння прыкладанняў з медыцынскімі прыладамі і фітнес-трэкерамі.
  • В Android Runtime (ART) рэалізаваны пакаленчы зборшчык смецця (Generational Concurrent Mark-Compact Garbage Collector), які выкарыстоўвае паасобную апрацоўку "старых" і "маладых" аб'ектаў, што павышае эфектыўнасць ачысткі нядаўна створаных аб'ектаў з невялікім часам жыцця. Ужыванне пакаленчага зборшчыка смецця памяншае рызыку прыпыненняў падчас вылучэння рэсурсаў і зніжае нагрузку на CPU, што падвышае эфектыўнасць спажывання энергіі.
  • Реализовано ограничение на максимальный объём оперативной памяти, которое может занимать приложение. При превышении лимита, вычисляемого на основе имеющегося в устройстве ОЗУ, приложение принудительно завершается. Для сокращения размера потребляемой памяти предложен 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%.
  • Прапанавана новая рэалізацыя чаргі паведамленняў android.os.MessageQueue, якая працуе без блакіровак. Новая рэалізацыя дае магчымасць павысіць прадукцыйнасць і знізіць страту кадраў.
  • Прыкладанням, якія заяўляюць аб падтрымцы Android 17 і навейшых выпускаў, забаронена змяняць значэнні палёў, пазначаных як «static final», што дазваляе задзейнічаць больш агрэсіўныя аптымізацыі прадукцыйнасці ў runtime.
  • Для зніжэння спажывання памяці абмежаваны памер уласных раскладак афармлення апавяшчэнняў (notification view).
  • У прафіліроўшчык ProfilingManager дададзены дадатковыя трыгеры TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM і TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE для збору дадзеных, карысных пры адладцы праблем з прадукцыйнасцю.

Крыніца: opennet.ru

Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы 🔥 Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы | ProHoster