Google je izdal odprto mobilno platformo. 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):
- Dodan je bil nov način več oken, »Mehurčki«. Omogoča vam zagon katere koli aplikacije v plavajočih oknih, podobno kot prekrivna obvestila za pošiljanje sporočil (»mehurčki«), vendar ni vezano na specializiran API. Aplikacijo v plavajočem oknu odprete z dolgim pritiskom na ikono aplikacije. Na večjih zaslonih se ikone plavajočih oken prikažejo v ločenem območju v opravilni vrstici. Ta okna je mogoče združiti, premakniti in pripeti na zaslon.

- Razvoj platforme za naprave z velikimi zasloni, kot so tablični računalniki, prenosniki, namizni računalniki in pametni telefoni z zložljivimi zasloni, se je nadaljeval. Prej omogočene možnosti za onemogočanje novega vedenja na napravah z zasloni, širšimi od 600 slikovnih pik (dp), so bile odstranjene. To vedenje je bilo povezano z ignoriranjem določenih API-jev za upravljanje spreminjanja velikosti in orientacije zaslona (screenOrientation, resizeableActivity, [min|max]AspectRatio), kot tudi s prilagodljivo postavitvijo aplikacij v oknih, ki jih je mogoče spreminjati po velikosti in premikati.


- Dodan je bil sistemski API EyeDropper, ki aplikacijam omogoča pridobivanje informacij o barvi za katero koli slikovno piko na zaslonu, ne da bi potrebovale dovoljenja za zajem zaslona. Varnost je zagotovljena tako, da uporabniku omogoča izbiro območja, ki ga želite zajeti z barvo, prek vmesnika kapalke, ki ga upravlja platforma in ki ni pod nadzorom aplikacije. To pomeni, da aplikacije ne morejo zahtevati informacij o določeni slikovni piki ali poustvariti vsebine zaslona slikovno piko za slikovno piko.

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

- Dodan je bil API PhotoPickerUiCustomizationParams za prilagoditev vmesnika izbirnika fotografij, ki omogoča boljše ujemanje s slogom aplikacije, ki kliče. Na primer, lahko spremenite razmerje stranic sličic fotografij z 1:1 (kvadrat) na 9:16 (pokončno).

- Dodano je bilo dovoljenje USE_LOCATION_BUTTON, ki vam omogoča vdelavo sistemskega gumba v vmesnik aplikacije za dostop do natančnih podatkov o lokaciji. Gumb upodobi sistem in ko ga uporabnik klikne, omogoči dostop do podatkov o lokaciji samo za čas trajanja trenutne seje.

- Dodana je bila nastavitev, ki omogoča skrivanje prikaza imen aplikacij pod njihovimi ikonami.


- Zasnova orodne vrstice za snemanje posnetkov zaslona je bila spremenjena.

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

- Dodan Handoff API, ki omogoča prenos stanja aplikacije na drugo aplikacijo v bližini Android-napravo (na primer tablico) in tam nadaljevati z delom.

- Implementirana interaktivna zasidrana okna, ki za razliko od tradicionalnih oken »slika v sliki« ostanejo interaktivna, ko so zasidrana čez druge aplikacije v namiznem načinu.
- Dodana sta bila dva nova API-ja: UWB DL-TDOA API za določanje položaja naprave znotraj stavbe z uporabo Wi-Fi-ja za navigacijo v zaprtih prostorih in Proximity Detection API za zaznavanje bližnjih naprav prek Wi-Fi-ja.
- Dodana je bila podpora za video format VVC (Versatile Video Coding), znan tudi kot standard za stiskanje videa H.266, ki sta ga skupaj razvili delovni skupini MPEG (ISO/IEC JTC 1) in VCEG (ITU-T), pri čemer so sodelovala podjetja, kot so Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm in Sony. H.266 nadomešča H.265 (HEVC) in zagotavlja visoko učinkovit prenos in shranjevanje za vse ločljivosti zaslona (od SD in HD do 4K in 8K), podpira video z visokim dinamičnim razponom (HDR) in 360-stopinjski panoramski video.
- Dodana je bila možnost snemanja videa s konstantno kakovostjo. Ta način je konfiguriran v objektu MediaRecorder z metodo setVideoEncodingQuality(), ki omogoča zaklepanje kakovosti ne glede na bitno hitrost.
- Добавлена поддержка формата изображений RAW14, применяемого в профессиональных цифровых камерах и обеспечивающего хранение 15 бит на цветовой канал.
- Добавлено поддержка формата HDR-видео Eclipsa Video.
- Dodan programski kodirnik za zvočni format HE-AAC (High-Efficiency Advanced Audio Coding), ki podpira tako nizke kot visoke bitne hitrosti.
- Dodano je bilo novo dovoljenje, ACCESS_LOCAL_NETWORK, ki omejuje dostop aplikacij do lokalnega omrežja. To dovoljenje aplikacijam omogoča prepoznavanje in povezovanje z napravami v lokalnem omrežju, kot so pametne domače naprave in multimedijski sistemi. To dovoljenje je bilo dodano, da se prepreči zlonamernim aplikacijam skeniranje virov lokalnega omrežja, na primer za prikrito prepoznavanje uporabnikovega okolja.
- Zaščita pred prestrezanjem enkratnih gesel (OTP) in potrditvenih kod, poslanih prek SMS-a, je bila razširjena. Večina aplikacij ima zdaj neposreden dostop do teh sporočil šele tri ure po njihovem prejemu. Privzeti bralnik SMS-ov ta sporočila prikaže takoj.
- Реализована защита от звонков мошенников, представляющихся сотрудниками банка. Платформа может взаимодействовать с установленными банковскими приложениями для подтверждения того, что звонок инициирован банком. Также банки могут определять номера телефонов на которых допускаются только входящие звонки.
- Добавлена возможность предоставления приложениям временного доступа к данным о точном местоположении, действующего только в течение текущего сеанса работы с программой.
- Механизм защиты динамической загрузки кода (DCL, Dynamic Code Loading) расширен для применения с нативными библиотеками, загружаемыми через метод System.load(), а не только
файлами в форматах DEX и JAR. DCL позволяет избежать подстановки вредоносного кода в динамически загружаемые исполняемые файлы, благодаря выставлению для подобных файлов прав доступа, допускающих только чтение. - Mehanizem preglednosti potrdil je privzeto omogočen in vzdržuje javni dnevnik vseh izdanih in preklicanih potrdil,
- Uvedena je bila možnost certificiranja paketov APK z digitalnim podpisom, ki temelji na hibridnem algoritmu, ki združuje klasični algoritem z algoritmom ML-DSA, ki je odporen na surovo silo na kvantnem računalniku.
- Для приложений, работающих в фоновом режиме, ограничен доступ к API для воспроизведения звука, подключения к звуковым устройствам и изменения громкости. Подразумевается, что только активные приложения, с которыми в данный момент взаимодействует пользователь, могут начинать воспроизведение и менять громкость.
- Dodana je podpora za hibridno šifriranje, ki temelji na mehanizmu HPKE (Hybrid Public Key Encryption, RFC 9180), ki združuje enostavnost prenosa ključa pri šifriranju z javnim ključem z visoko zmogljivostjo simetričnega šifriranja (podatki so šifrirani s hitrim simetričnim ključem, sam ključ pa s počasnim asimetričnim ključem).
- При вводе паролей и PIN-кодов при помощи физической клавиатуры по умолчанию отключено отображение последнего введённого символа по мере набора.
- Za poenostavitev implementacije podpore za sledilno ploščico v igrah je bila poenotena obravnava dogodkov miške in sledilne ploščice. Privzeto se dogodki sledilne ploščice, povezani s premiki kazalca in kretnjami drsenja, zdaj pretvorijo v relativne koordinate, tako kot pri miški. Dostop do absolutnih koordinat je omogočen z eksplicitno določitvijo načina POINTER_CAPTURE_MODE_ABSOLUTE.
- Metoda getInitialRestingBounds() je bila dodana objektu ChooserSession, ki omogoča, da ugotovite končni položaj in velikost pogovornega okna Chooser po tem, ko se animacija ustavi in se podatki naložijo.
- Dodani metodi getStreamingAppMaxDownlinkKbps in getStreamingAppMaxUplinkKbps za določitev največje pasovne širine komunikacijskega kanala za namen izbire ravni kakovosti za pretakanje.
- Proizvajalcem strojne opreme je bil na voljo API za ustvarjanje razširitev kamer, ki omogočajo funkcije, specifične za aplikacije, kot so mehanizem za izboljšanje podrobnosti Super Resolution, načini za zmanjšanje šuma in optimizatorji kakovosti umetne inteligence.
- Dodan API za pridobivanje informacij o vrsti kamere (vgrajena kamera, USB spletna kamera ali virtualna kamera).
- Dodana je bila podpora za slušne aparate, povezane prek povezave Bluetooth Low Energy (BLE). Te naprave so zdaj razvrščene v novo kategorijo TYPE_BLE_HEARING_AID, kar aplikacijam omogoča, da razlikujejo med slušnimi aparati in slušalkami ter ločeno upravljajo predvajanje sistemskega zvoka (na primer, obvestila, melodije zvonjenja in alarme lahko predvajate na vgrajenem zvočniku telefona namesto na slušnem aparatu).
- Dodane so bile ločene nastavitve za prikaz gesel, vnesenih na fizični tipkovnici in na zaslonu na dotik. Privzeto so znaki gesla, vneseni s fizično tipkovnico, takoj skriti.
- Izboljšan prikaz gradnikov aplikacij na zunanjih zaslonih z upoštevanjem razlik v DPI pri skaliranju.
- Dodana je bila zahteva ACTION_VPN_APP_EXCLUSION_SETTINGS, ki jo je mogoče uporabiti za odpiranje sistemskega zaslona z nastavitvami, ki aplikaciji omogočajo dostop do omrežja mimo tunela VPN.
- Dodana podpora za jezikovne funkcije OpenJDK 25 in razrede Java.
- Zmogljivosti API-ja kamere so bile razširjene. Objektu CameraCaptureSession je bila dodana metoda updateOutputConfigurations() za sproti pripenjanje ali odklapljanje izhodnih območij, ne da bi bilo treba ponovno konfigurirati celotno sejo zajemanja s kamero. Ta sprememba omogoča nemoteno preklapljanje med različnimi načini kamere (na primer snemanje videa in fotografiranje). Pri delu z logičnimi kamerami, ki zajemajo več fizičnih senzorjev, je bila dodana možnost pridobivanja metapodatkov za vsak senzor, ne le za primarni.
- Atribut android:usesCleartextTraffic, ki je aplikacijam omogočal prenos nešifriranega prometa, kot so zahteve »http://«, je zastarel. Če je potreben nešifriran promet, je treba uporabiti ločene datoteke za konfiguracijo varnosti.
- Dodane nastavitve za upravljanje zgodovine VoIP klicev, ki vam omogočajo nadzor nad tem, ali se podatki shranjujejo v dnevnike in ali se podatki o opravljenih klicih prikazujejo v vmesniku.
- API Wi-Fi RTT (Round-Trip-Time) je bil razširjen, da zagotavlja neprekinjeno ocenjevanje bližine dostopnih točk in varno zaznavanje vozlišč med vrstniki.
- V CompanionDeviceManager so bili dodani novi profili za zahtevanje dovoljenj in omogočanje interakcij aplikacij z medicinskimi napravami in sledilniki telesne pripravljenosti.
- В Android Izvajalno okolje (ART) implementira generacijski zbiralnik smeti (Generational Concurrent Mark-Compact Garbage Collector), ki ločuje obdelavo "starih" in "mladih" objektov, s čimer izboljša učinkovitost čiščenja nedavno ustvarjenih objektov s kratkimi življenjskimi dobami. Uporaba generacijskega zbiralnika smeti zmanjša tveganje zastojev med dodeljevanjem virov in zmanjša obremenitev procesorja, kar izboljša energetsko učinkovitost.
- Реализовано ограничение на максимальный объём оперативной памяти, которое может занимать приложение. При превышении лимита, вычисляемого на основе имеющегося в устройстве ОЗУ, приложение принудительно завершается. Для сокращения размера потребляемой памяти предложен 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%.
- Predlagana je nova implementacija čakalne vrste sporočil android.os.MessageQueue, ki deluje brez zaklepanja. Ta nova implementacija izboljša zmogljivost in zmanjša izgubo okvirjev.
- Vloge, ki zahtevajo podporo Android V različicah 17 in novejših je spreminjanje vrednosti polj, označenih kot »static final«, prepovedano, kar omogoča agresivnejše optimizacije delovanja med izvajanjem.
- Za zmanjšanje porabe pomnilnika je bila velikost postavitev prikaza obvestil po meri omejena.
- V profiler ProfilingManager so bili dodani dodatni sprožilci TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM in TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE za zbiranje podatkov, uporabnih za odpravljanje težav z zmogljivostjo.
Vir: opennet.ru












