Google hat in iepen mobyl platfoarm útbrocht. 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):
- In nije modus foar meardere finsters, "Bubbles", is tafoege. Hjirmei kinne jo elke applikaasje yn driuwende finsters starte, fergelykber mei overlay-notifikaasjes foar it ferstjoeren fan berjochten ("bubbles"), mar net keppele oan in spesjalisearre API. It iepenjen fan in applikaasje yn in driuwend finster wurdt dien troch lang op it applikaasje-ikoantsje te drukken. Op gruttere skermen ferskine driuwende finsterikoanen yn in apart gebiet op 'e taakbalke. Dizze finsters kinne wurde groepearre, ferpleatst en fêstmakke oan it skerm.

- Platfoarmûntwikkeling foar apparaten mei grutte skermen, lykas tablets, laptops, buroblêdsystemen en smartphones mei opklapbere skermen, is trochgien. Earder ynskeakele opsjes foar it útskeakeljen fan nij gedrach op apparaten mei skermen breder as 600 piksels (dp) binne fuorthelle. Dit gedrach wie relatearre oan it negearjen fan bepaalde API's foar it behearen fan skermgrutte en oriïntaasje (screenOrientation, resizeableActivity, [min|max]AspectRatio), lykas adaptive pleatsing fan applikaasjes yn oanpasbere en beweechbere finsters.


- De EyeDropper-systeem-API is tafoege, wêrtroch applikaasjes kleurynformaasje kinne krije foar elke piksel op it skerm sûnder dat se skermôfdruktastimming nedich hawwe. Feiligens wurdt garandearre troch de brûker it gebiet te selektearjen dat kleurfûn wurde moat fia in platfoarmbehearde pipetynterface, dy't net ûnder kontrôle fan 'e applikaasje falt. Dit betsjut dat applikaasjes gjin ynformaasje oer in spesifike piksel kinne oanfreegje of de skermynhâld piksel foar piksel opnij oanmeitsje kinne.

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

- De PhotoPickerUiCustomizationParams API is tafoege om de ynterface fan 'e fotokiezer oan te passen, wêrtroch't it better oerienkomt mei de styl fan 'e oprop-app. Jo kinne bygelyks de aspektferhâlding fan fotominiatuerôfbyldings feroarje fan 1:1 (fjouwerkant) nei 9:16 (portret).

- De USE_LOCATION_BUTTON-tastimming is tafoege, wêrtroch jo in systeemknop yn 'e ynterface fan jo app kinne ynbêde om tagong te jaan ta krekte lokaasjegegevens. De knop wurdt werjûn troch it systeem en, as de brûker derop klikt, jout it allinich tagong ta lokaasjegegevens foar de doer fan 'e hjoeddeiske sesje.

- Der is in ynstelling tafoege wêrmei jo de werjefte fan applikaasjenammen ûnder har ikoanen ferbergje kinne.


- It ûntwerp fan 'e arkbalke foar skermopname is feroare.

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

- Handoff API tafoege, wêrtroch jo de status fan in applikaasje oerdrage kinne nei in oare yn 'e buert Android-apparaat (bygelyks in tablet) en dêr fierder wurkje.

- Ynteraktive docked finsters ymplementearre dy't, oars as tradisjonele Picture-in-Picture finsters, ynteraktyf bliuwe as se boppe oare applikaasjes docked binne yn buroblêdmodus.
- Twa nije API's binne tafoege: de UWB DL-TDOA API foar it bepalen fan 'e posysje fan in apparaat yn in gebou mei Wi-Fi foar navigaasje binnen; en de Proximity Detection API foar it detektearjen fan apparaten yn 'e buert fia Wi-Fi.
- Stipe is tafoege foar it VVC (Versatile Video Coding) fideoformaat, ek wol bekend as de H.266 fideokompresjestandert, mienskiplik ûntwikkele troch de MPEG (ISO/IEC JTC 1) en VCEG (ITU-T) wurkgroepen, mei dielname fan bedriuwen lykas Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm en Sony. H.266 ferfangt H.265 (HEVC) en biedt heech-effisjinte oerdracht en opslach foar alle skermresolúsjes (fan SD en HD oant 4K en 8K), stipet High Dynamic Range (HDR) fideo en 360-graden panoramyske fideo.
- De mooglikheid om fideo op te nimmen mei in konstant kwaliteitsnivo is tafoege. Dizze modus wurdt yn it MediaRecorder-objekt konfigurearre mei de setVideoEncodingQuality() metoade, wêrtroch jo it kwaliteitsnivo kinne beskoattelje, nettsjinsteande de bitrate.
- Добавлена поддержка формата изображений RAW14, применяемого в профессиональных цифровых камерах и обеспечивающего хранение 15 бит на цветовой канал.
- Добавлено поддержка формата HDR-видео Eclipsa Video.
- Software-encoder tafoege foar it HE-AAC (High-Efficiency Advanced Audio Coding) audioformaat, dat sawol lege as hege bitraten stipet.
- In nije tastimming, ACCESS_LOCAL_NETWORK, is tafoege om de tagong fan apps ta it lokale netwurk te beheinen. Dizze tastimming lit apps apparaten op it lokale netwurk identifisearje en ferbine, lykas smart home-apparaten en multimediasystemen. Dizze tastimming is tafoege om te foarkommen dat kweade apps lokale netwurkboarnen scannen, bygelyks om de omjouwing fan 'e brûker yn it geheim te identifisearjen.
- Beskerming tsjin it ûnderskeppen fan ienmalige wachtwurden (OTP's) en befêstigingskoades dy't fia SMS ferstjoerd wurde, is útwreide. De measte apps hawwe no mar trije oeren nei ûntfangst direkte tagong ta dizze berjochten. De standert SMS-lêzer toant dizze berjochten fuortendaliks.
- Реализована защита от звонков мошенников, представляющихся сотрудниками банка. Платформа может взаимодействовать с установленными банковскими приложениями для подтверждения того, что звонок инициирован банком. Также банки могут определять номера телефонов на которых допускаются только входящие звонки.
- Добавлена возможность предоставления приложениям временного доступа к данным о точном местоположении, действующего только в течение текущего сеанса работы с программой.
- Механизм защиты динамической загрузки кода (DCL, Dynamic Code Loading) расширен для применения с нативными библиотеками, загружаемыми через метод System.load(), а не только
файлами в форматах DEX и JAR. DCL позволяет избежать подстановки вредоносного кода в динамически загружаемые исполняемые файлы, благодаря выставлению для подобных файлов прав доступа, допускающих только чтение. - It meganisme foar sertifikaattransparânsje is standert ynskeakele, en hâldt in iepenbier logboek by fan alle útjûne en ynlutsen sertifikaten,
- De mooglikheid om APK-pakketten te sertifisearjen mei in digitale hântekening basearre op in hybride algoritme dat it klassike algoritme kombinearret mei it ML-DSA-algoritme, dat resistint is tsjin brute krêft op in kwantumkompjûter, is yntrodusearre.
- Для приложений, работающих в фоновом режиме, ограничен доступ к API для воспроизведения звука, подключения к звуковым устройствам и изменения громкости. Подразумевается, что только активные приложения, с которыми в данный момент взаимодействует пользователь, могут начинать воспроизведение и менять громкость.
- Добавлена поддержка гибридного шифрования на основе механизма HPKE (Hybrid Public Key Encryption, RFC 9180), совмещающего простоту передачи ключа в шифровании с открытым ключом с высокой производительностью симметричного шифрования (данные шифруются быстрым симметричным ключом, а сам ключ шифруется медленным асимметричным).
- При вводе паролей и PIN-кодов при помощи физической клавиатуры по умолчанию отключено отображение последнего введённого символа по мере набора.
- Om de ymplemintaasje fan touchpad-stipe yn spultsjes te ferienfâldigjen, is de ôfhanneling fan mûs- en touchpad-eveneminten ferienige. Standert wurde touchpad-eveneminten relatearre oan oanwizerbewegingen en skrollgebarren no omset nei relative koördinaten, krekt as foar in mûs. Tagong ta absolute koördinaten wurdt fersoarge troch de POINTER_CAPTURE_MODE_ABSOLUTE-modus eksplisyt op te jaan.
- De getInitialRestingBounds() metoade is tafoege oan it ChooserSession objekt, wêrtroch jo de definitive posysje en grutte fan it Chooser dialoochfinster kinne útfine nei't de animaasje stoppe is en de gegevens laden binne.
- De metoaden getStreamingAppMaxDownlinkKbps en getStreamingAppMaxUplinkKbps binne tafoege om de maksimale bânbreedte fan it kommunikaasjekanaal te bepalen mei it doel it kwaliteitsnivo foar streaming te selektearjen.
- In API is oan hardwarefabrikanten oanbean om kamera-útwreidings te meitsjen dy't applikaasjespesifike funksjes mooglik meitsje, lykas de Super Resolution detailferbetteringsmotor, lûdsreduksjemodi en AI-kwaliteitsoptimalisearders.
- API tafoege foar it krijen fan ynformaasje oer kameratype (ynboude kamera, USB-webcam of firtuele kamera).
- Stipe is tafoege foar gehoarapparaten dy't ferbûn binne fia Bluetooth Low Energy (BLE). Dizze apparaten wurde no klassifisearre ûnder de nije kategory TYPE_BLE_HEARING_AID, wêrtroch apps ûnderskied kinne meitsje tusken gehoarapparaten en koptelefoanen en it ôfspyljen fan systeemlûd apart kinne kontrolearje (bygelyks, jo kinne notifikaasjes, ringtones en alarmen ôfspylje op 'e ynboude sprekker fan jo tillefoan ynstee fan op jo gehoarapparaat).
- Der binne aparte ynstellings tafoege foar it werjaan fan wachtwurden dy't ynfierd binne op it fysike toetseboerd en op it touchscreen. Standert wurde wachtwurdkarakters dy't ynfierd binne mei it fysike toetseboerd direkt ferburgen.
- Ferbettere werjefte fan app-widgets op eksterne skermen troch rekken te hâlden mei ferskillen yn DPI by it skalearjen.
- It fersyk ACTION_VPN_APP_EXCLUSION_SETTINGS tafoege, dat brûkt wurde kin om in systeemskerm te iepenjen mei ynstellings dy't in applikaasje tastean om netwurktagong te hawwen sûnder de VPN-tunnel te omgean.
- Stipe tafoege foar OpenJDK 25-taalfunksjes en Java-klassen.
- De mooglikheden fan 'e kamera-API binne útwreide. De updateOutputConfigurations()-metoade is tafoege oan it CameraCaptureSession-objekt foar it ûnderweis taheakjen of losmeitsjen fan útfierregio's sûnder de hiele kamera-opnamesesje opnij te konfigurearjen. Dizze feroaring makket naadleaze wikseling mooglik tusken ferskate kameramodi (bygelyks fideo-opname en foto-meitsjen). By it wurkjen mei logyske kamera's dy't meardere fysike sensoren omfetsje, is de mooglikheid tafoege om metadata foar elke sensor op te heljen, net allinich de primêre.
- It attribút android:usesCleartextTraffic, dat applikaasjes tastie om net-fersifere ferkear te ferstjoeren, lykas "http://"-oanfragen, is ôfwiisd. As net-fersifere ferkear fereaske is, moatte aparte befeiligingskonfiguraasjebestannen brûkt wurde.
- Ynstellings tafoege foar it behearen fan VoIP-oprophistoarje, wêrtroch jo kinne kontrolearje oft ynformaasje yn logs bewarre wurdt en oft ynformaasje oer foltôge oproppen werjûn wurdt yn 'e ynterface.
- De Wi-Fi RTT (Round-Trip-Time) API is útwreide om trochgeande skatting fan 'e tichtbyens fan tagongspunten en feilige peer-to-peer-knooppuntdeteksje te leverjen.
- Nije profilen binne tafoege oan CompanionDeviceManager foar it oanfreegjen fan tagongsrjochten en it mooglik meitsjen fan app-ynteraksjes mei medyske apparaten en fitnesstrackers.
- В Android Runtime (ART) ymplementearret in generaasje-ôffalferzamelaar (Generational Concurrent Mark-Compact Garbage Collector), dy't de ferwurking fan "âlde" en "jonge" objekten skiedt, wêrtroch't de effisjinsje fan it opromjen fan koartlyn oanmakke objekten mei koarte libbensdoer ferbetteret. It brûken fan in generaasje-ôffalferzamelaar ferminderet it risiko fan stallings by it tawizen fan boarnen en ferminderet de CPU-belesting, wêrtroch't de enerzjy-effisjinsje ferbettere wurdt.
- Реализовано ограничение на максимальный объём оперативной памяти, которое может занимать приложение. При превышении лимита, вычисляемого на основе имеющегося в устройстве ОЗУ, приложение принудительно завершается. Для сокращения размера потребляемой памяти предложен 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%.
- In nije ymplemintaasje fan 'e berjochtwachtrige android.os.MessageQueue wurdt foarsteld, dy't sûnder slûzen wurket. Dizze nije ymplemintaasje ferbetteret de prestaasjes en ferminderet frameferlies.
- Applikaasjes dy't stipe oanfreegje Android 17 en lettere ferzjes is it feroarjen fan de wearden fan fjilden markearre as "statysk definityf" ferbean, wêrtroch agressiver prestaasjeoptimalisaasjes by runtime ynskeakele wurde kinne.
- Om ûnthâldgebrûk te ferminderjen, is de grutte fan oanpaste notifikaasjewerjefte-layouts beheind.
- Ekstra triggers TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM, en TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE binne tafoege oan de ProfilingManager-profiler om gegevens te sammeljen dy't nuttich binne foar it debuggen fan prestaasjeproblemen.
Boarne: opennet.ru












