Google vydal otevřenou mobilní platformu. 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):
- Byl přidán nový režim více oken s názvem „Bubliny“. Umožňuje spouštět libovolnou aplikaci v plovoucích oknech, podobně jako překryvná oznámení pro odesílání zpráv („bubliny“), ale není vázána na specializované API. Otevření aplikace v plovoucím okně se provádí dlouhým stisknutím ikony aplikace. Na větších obrazovkách se ikony plovoucích oken zobrazují v samostatné oblasti na hlavním panelu. Tato okna lze seskupovat, přesouvat a připínat na obrazovku.

- Vývoj platformy pro zařízení s velkými obrazovkami, jako jsou tablety, notebooky, stolní počítače a chytré telefony se skládacími obrazovkami, pokračoval. Dříve povolené možnosti pro zakázání nového chování na zařízeních s obrazovkami širšími než 600 pixelů (dp) byly odstraněny. Toto chování souviselo s ignorováním určitých API pro správu změny velikosti a orientace obrazovky (screenOrientation, resizeableActivity, [min|max]AspectRatio) a také s adaptivním umisťováním aplikací v oknech s možností změny velikosti a pohybu.


- Bylo přidáno systémové API EyeDropper, které umožňuje aplikacím získávat informace o barvách libovolného pixelu na obrazovce bez nutnosti oprávnění k snímání obrazovky. Zabezpečení je zajištěno tím, že uživatel může vybrat oblast, která má být barevně zachycena, prostřednictvím rozhraní kapátka spravovaného platformou, které není pod kontrolou aplikace. To znamená, že aplikace nemohou vyžadovat informace o konkrétním pixelu ani znovu vytvářet obsah obrazovky pixel po pixelu.

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

- Bylo přidáno rozhraní API PhotoPickerUiCustomizationParams, které umožňuje přizpůsobit rozhraní výběru fotografií a lépe tak odpovídat stylu volající aplikace. Můžete například změnit poměr stran miniatur fotografií z 1:1 (čtverec) na 9:16 (na výšku).

- Bylo přidáno oprávnění USE_LOCATION_BUTTON, které umožňuje vložit do rozhraní aplikace systémové tlačítko pro přístup k přesným údajům o poloze. Tlačítko je vykresleno systémem a po kliknutí uživatelem je přístup k údajům o poloze povolen pouze po dobu aktuální relace.

- Bylo přidáno nastavení, které umožňuje skrýt zobrazení názvů aplikací pod jejich ikonami.


- Design panelu nástrojů pro nahrávání screencastů byl změněn.

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

- Přidáno Handoff API, které umožňuje přenést stav aplikace do jiné aplikace v okolí. Android-zařízení (například tablet) a pokračovat v práci na něm.

- Implementována interaktivní ukotvená okna, která na rozdíl od tradičních oken Obraz v obraze zůstávají interaktivní i při ukotvení nad jinými aplikacemi v režimu plochy.
- Byla přidána dvě nová API: UWB DL-TDOA API pro určování polohy zařízení uvnitř budovy pomocí Wi-Fi pro navigaci v interiéru a Proximity Detection API pro detekci zařízení v blízkosti prostřednictvím Wi-Fi.
- Byla přidána podpora pro video formát VVC (Versatile Video Coding), známý také jako standard pro kompresi videa H.266, který byl vyvinut společně pracovními skupinami MPEG (ISO/IEC JTC 1) a VCEG (ITU-T) za účasti společností jako Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm a Sony. H.266 nahrazuje H.265 (HEVC) a poskytuje vysoce efektivní přenos a ukládání pro všechna rozlišení obrazovky (od SD a HD až po 4K a 8K), podporuje video s vysokým dynamickým rozsahem (HDR) a 360stupňové panoramatické video.
- Byla přidána možnost nahrávat video s konstantní úrovní kvality. Tento režim se konfiguruje v objektu MediaRecorder pomocí metody setVideoEncodingQuality(), která umožňuje uzamknout úroveň kvality bez ohledu na datový tok.
- Добавлена поддержка формата изображений RAW14, применяемого в профессиональных цифровых камерах и обеспечивающего хранение 15 бит на цветовой канал.
- Добавлено поддержка формата HDR-видео Eclipsa Video.
- Přidán softwarový kodér pro zvukový formát HE-AAC (High-Efficiency Advanced Audio Coding) s podporou nízkých i vysokých bitových rychlostí.
- Bylo přidáno nové oprávnění ACCESS_LOCAL_NETWORK, které omezuje přístup aplikací k místní síti. Toto oprávnění umožňuje aplikacím identifikovat a připojovat se k zařízením v místní síti, jako jsou zařízení chytré domácnosti a multimediální systémy. Toto oprávnění bylo přidáno, aby se zabránilo škodlivým aplikacím ve skenování místních síťových zdrojů, například za účelem skryté identifikace prostředí uživatele.
- Byla rozšířena ochrana proti zachycení jednorázových hesel (OTP) a potvrzovacích kódů odeslaných prostřednictvím SMS. Většina aplikací má nyní k těmto zprávám přímý přístup až tři hodiny po jejich přijetí. Výchozí čtečka SMS zpráv tyto zprávy zobrazí okamžitě.
- Реализована защита от звонков мошенников, представляющихся сотрудниками банка. Платформа может взаимодействовать с установленными банковскими приложениями для подтверждения того, что звонок инициирован банком. Также банки могут определять номера телефонов на которых допускаются только входящие звонки.
- Добавлена возможность предоставления приложениям временного доступа к данным о точном местоположении, действующего только в течение текущего сеанса работы с программой.
- Механизм защиты динамической загрузки кода (DCL, Dynamic Code Loading) расширен для применения с нативными библиотеками, загружаемыми через метод System.load(), а не только
файлами в форматах DEX и JAR. DCL позволяет избежать подстановки вредоносного кода в динамически загружаемые исполняемые файлы, благодаря выставлению для подобных файлов прав доступа, допускающих только чтение. - Mechanismus transparentnosti certifikátů je ve výchozím nastavení povolen a uchovává veřejný protokol všech vydaných a zrušených certifikátů.
- Byla zavedena možnost certifikovat balíčky APK digitálním podpisem založeným na hybridním algoritmu, který kombinuje klasický algoritmus s algoritmem ML-DSA, jenž je odolný vůči hrubé síle na kvantovém počítači.
- Для приложений, работающих в фоновом режиме, ограничен доступ к API для воспроизведения звука, подключения к звуковым устройствам и изменения громкости. Подразумевается, что только активные приложения, с которыми в данный момент взаимодействует пользователь, могут начинать воспроизведение и менять громкость.
- Přidána podpora hybridního šifrování založeného na mechanismu HPKE (Hybrid Public Key Encryption, RFC 9180), který kombinuje snadnost přenosu klíčů u šifrování s veřejným klíčem s vysokým výkonem symetrického šifrování (data jsou šifrována rychlým symetrickým klíčem a samotný klíč je šifrován pomalým asymetrickým klíčem).
- При вводе паролей и PIN-кодов при помощи физической клавиатуры по умолчанию отключено отображение последнего введённого символа по мере набора.
- Pro zjednodušení implementace podpory touchpadu ve hrách bylo sjednoceno zpracování událostí myši a touchpadu. Ve výchozím nastavení se události touchpadu související s pohyby ukazatele a gesty posouvání nyní převádějí na relativní souřadnice, stejně jako u myši. Přístup k absolutním souřadnicím je zajištěn explicitním zadáním režimu POINTER_CAPTURE_MODE_ABSOLUTE.
- Do objektu ChooserSession byla přidána metoda getInitialRestingBounds(), která umožňuje zjistit konečnou pozici a velikost dialogového okna Chooser po zastavení animace a načtení dat.
- Přidány metody getStreamingAppMaxDownlinkKbps a getStreamingAppMaxUplinkKbps pro určení maximální šířky pásma komunikačního kanálu za účelem výběru úrovně kvality streamování.
- Výrobcům hardwaru bylo poskytnuto API pro vytváření rozšíření kamer, která umožňují funkce specifické pro danou aplikaci, jako je například modul pro vylepšení detailů v super rozlišení, režimy redukce šumu a optimalizátory kvality umělé inteligence.
- Přidáno API pro získání informací o typu kamery (vestavěná kamera, USB webkamera nebo virtuální kamera).
- Byla přidána podpora pro naslouchátka připojená přes Bluetooth Low Energy (BLE). Tato zařízení jsou nyní klasifikována v nové kategorii TYPE_BLE_HEARING_AID, což umožňuje aplikacím rozlišovat mezi naslouchátky a sluchátky a ovládat přehrávání zvuku systému samostatně (například můžete přehrávat oznámení, vyzváněcí tóny a budíky na vestavěném reproduktoru telefonu, nikoli na naslouchátku).
- Byla přidána samostatná nastavení pro zobrazení hesel zadaných na fyzické klávesnici a na dotykové obrazovce. Ve výchozím nastavení jsou znaky hesla zadané pomocí fyzické klávesnice okamžitě skryty.
- Vylepšené zobrazení widgetů aplikací na externích obrazovkách s ohledem na rozdíly v DPI při škálování.
- Přidán požadavek ACTION_VPN_APP_EXCLUSION_SETTINGS, který lze použít k otevření systémové obrazovky s nastavením, které umožňuje aplikaci přístup k síti bez VPN tunelu.
- Přidána podpora pro jazykové funkce OpenJDK 25 a třídy Java.
- Možnosti API kamery byly rozšířeny. Do objektu CameraCaptureSession byla přidána metoda updateOutputConfigurations() pro připojení nebo odpojení výstupních oblastí za chodu, aniž by bylo nutné překonfigurovat celou relaci snímání kamery. Tato změna umožňuje bezproblémové přepínání mezi různými režimy kamery (například nahrávání videa a pořizování fotografií). Při práci s logickými kamerami, které zahrnují více fyzických senzorů, byla přidána možnost načíst metadata pro každý senzor, nejen pro primární.
- Atribut android:usesCleartextTraffic, který umožňoval aplikacím přenášet nešifrovaný provoz, například požadavky „http://“, byl zastaralý. Pokud je vyžadován nešifrovaný provoz, měly by být použity samostatné konfigurační soubory zabezpečení.
- Přidána nastavení pro správu historie VoIP hovorů, která umožňují ovládat, zda se informace ukládají do protokolů a zda se v rozhraní zobrazují informace o dokončených hovorech.
- Rozhraní Wi-Fi RTT (Round-Trip-Time) API bylo rozšířeno o nepřetržitý odhad vzdálenosti přístupových bodů a bezpečnou detekci uzlů peer-to-peer.
- Do CompanionDeviceManageru byly přidány nové profily pro vyžádání oprávnění a povolení interakcí aplikací se zdravotnickými zařízeními a fitness trackery.
- В Android Runtime (ART) implementuje generační garbage collector (Generational Concurrent Mark-Compact Garbage Collector), který odděluje zpracování „starých“ a „mladých“ objektů, čímž se zvyšuje efektivita čištění nedávno vytvořených objektů s krátkou životností. Použití generačního garbage collectoru snižuje riziko zablokování během alokace zdrojů a snižuje zatížení CPU, čímž se zlepšuje energetická účinnost.
- Реализовано ограничение на максимальный объём оперативной памяти, которое может занимать приложение. При превышении лимита, вычисляемого на основе имеющегося в устройстве ОЗУ, приложение принудительно завершается. Для сокращения размера потребляемой памяти предложен 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%.
- Je navržena nová implementace fronty zpráv android.os.MessageQueue, která funguje bez zámků. Tato nová implementace zlepšuje výkon a snižuje ztrátu rámců.
- Žádosti o podporu Android V verzích 17 a novějších je změna hodnot polí označených jako „static final“ zakázána, což umožňuje povolit agresivnější optimalizaci výkonu za běhu.
- Aby se snížila spotřeba paměti, byla omezena velikost vlastních rozvržení zobrazení oznámení.
- Do profileru ProfilingManager byly přidány další triggery TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM a TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE, které shromažďují data užitečná pro ladění problémů s výkonem.
Zdroj: opennet.ru












