A Google kiadott egy nyílt mobil platformot. 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):
- Egy új többablakos mód, a „Buborékok” került hozzáadásra. Lehetővé teszi bármely alkalmazás elindítását lebegő ablakban, hasonlóan az üzenetek küldéséről szóló átfedő értesítésekhez („buborékok”), de nem kötődik speciális API-hoz. Egy alkalmazás lebegő ablakban történő megnyitása az alkalmazás ikonjának hosszan történő megnyomásával történik. Nagyobb képernyőkön a lebegő ablak ikonok a tálcán egy külön területen jelennek meg. Ezek az ablakok csoportosíthatók, áthelyezhetők és rögzíthetők a képernyőhöz.

- Folytatódott a nagyméretű képernyős eszközök, például táblagépek, laptopok, asztali rendszerek és összecsukható képernyőjű okostelefonok platformfejlesztése. A 600 képpontnál (dp) szélesebb képernyőjű eszközökön korábban engedélyezett új viselkedés letiltására szolgáló beállításokat eltávolítottuk. Ez a viselkedés a képernyő átméretezésének és tájolásának kezelésére szolgáló bizonyos API-k (screenOrientation, resizeableActivity, [min|max]AspectRatio) figyelmen kívül hagyásával, valamint az alkalmazások átméretezhető és mozgatható ablakokban való adaptív elhelyezésével volt összefüggésben.


- Hozzáadtuk az EyeDropper rendszer API-t, amely lehetővé teszi az alkalmazások számára, hogy a képernyő bármely pixeléről színinformációkat kérjenek le képernyőfelvételi engedélyek nélkül. A biztonságot az biztosítja, hogy a felhasználó egy platform által kezelt pipetta felületen keresztül kiválaszthatja a színrögzítéshez szükséges területet, amely nem az alkalmazás felügyelete alatt áll. Ez azt jelenti, hogy az alkalmazások nem kérhetnek információt egy adott pixelről, és nem hozhatnak létre újra képpontonkénti képpontonként a képernyő tartalmát.

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

- A PhotoPickerUiCustomizationParams API hozzáadásával testreszabható a fotóválasztó felülete, így az jobban illeszkedik a hívó alkalmazás stílusához. Például a fotóbélyegképek képaránya 1:1-ről (négyzet) 9:16-ra (álló) módosítható.

- Hozzáadtuk a USE_LOCATION_BUTTON engedélyt, amely lehetővé teszi egy rendszergomb beágyazását az alkalmazás felületébe, hogy hozzáférést biztosítson a pontos helyadatokhoz. A gombot a rendszer jeleníti meg, és amikor a felhasználó rákattint, az csak az aktuális munkamenet időtartamára biztosít hozzáférést a helyadatokhoz.

- Hozzáadtunk egy beállítást, amely lehetővé teszi az alkalmazások nevének elrejtését az ikonjaik alatt.


- A képernyőfelvétel-eszköztár kialakítása megváltozott.

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

- Hozzáadott Handoff API, amely lehetővé teszi egy alkalmazás állapotának átvitelét egy közeli alkalmazásra. Android-eszközt (például egy táblagépet), és folytassa ott a munkát.

- Interaktív dokkolt ablakok kerültek megvalósításra, amelyek a hagyományos kép a képben ablakokkal ellentétben interaktívak maradnak, ha asztali módban más alkalmazások fölé dokkolják őket.
- Két új API-t adtak hozzá: az UWB DL-TDOA API-t, amely Wi-Fi-n keresztül határozza meg egy eszköz helyzetét egy épületen belül beltéri navigációhoz; és a Proximity Detection API-t, amely Wi-Fi-n keresztül érzékeli a közeli eszközöket.
- Támogatás került a VVC (Versatile Video Coding) videoformátumhoz, más néven a H.266 videotömörítési szabványhoz, amelyet az MPEG (ISO/IEC JTC 1) és a VCEG (ITU-T) munkacsoportok közösen fejlesztettek ki olyan vállalatok részvételével, mint az Apple, az Ericsson, az Intel, a Huawei, a Microsoft, a Qualcomm és a Sony. A H.266 felváltja a H.265 (HEVC) szabványt, és nagy hatékonyságú átvitelt és tárolást biztosít minden képernyőfelbontáshoz (SD és HD-től 4K-ig és 8K-ig), támogatja a nagy dinamikatartományú (HDR) videókat és a 360 fokos panorámavideókat.
- Lehetőség lett a videó állandó minőségben történő rögzítésére. Ez a mód a MediaRecorder objektumban a setVideoEncodingQuality() metódussal konfigurálható, lehetővé téve a minőségi szint rögzítését a bitrátától függetlenül.
- Добавлена поддержка формата изображений RAW14, применяемого в профессиональных цифровых камерах и обеспечивающего хранение 15 бит на цветовой канал.
- Добавлено поддержка формата HDR-видео Eclipsa Video.
- Hozzáadott szoftveres kódoló a HE-AAC (High-Efficiency Advanced Audio Coding) hangformátumhoz, amely mind az alacsony, mind a magas bitrátát támogatja.
- Egy új engedély, az ACCESS_LOCAL_NETWORK került hozzáadásra, amely korlátozza az alkalmazások hozzáférését a helyi hálózathoz. Ez az engedély lehetővé teszi az alkalmazások számára, hogy azonosítsák és csatlakozzanak a helyi hálózaton lévő eszközökhöz, például okosotthoni eszközökhöz és multimédiás rendszerekhez. Ez az engedély azért lett hozzáadva, hogy megakadályozza a rosszindulatú alkalmazások számára a helyi hálózati erőforrások szkennelését, például a felhasználó környezetének titkos azonosítása érdekében.
- Kibővítették az egyszer használatos jelszavak (OTP-k) és SMS-ben küldött megerősítő kódok lehallgatása elleni védelmet. A legtöbb alkalmazás mostantól csak három órával a beérkezésük után fér hozzá közvetlenül ezekhez az üzenetekhez. Az alapértelmezett SMS-olvasó azonnal megjeleníti ezeket az üzeneteket.
- Реализована защита от звонков мошенников, представляющихся сотрудниками банка. Платформа может взаимодействовать с установленными банковскими приложениями для подтверждения того, что звонок инициирован банком. Также банки могут определять номера телефонов на которых допускаются только входящие звонки.
- Добавлена возможность предоставления приложениям временного доступа к данным о точном местоположении, действующего только в течение текущего сеанса работы с программой.
- Механизм защиты динамической загрузки кода (DCL, Dynamic Code Loading) расширен для применения с нативными библиотеками, загружаемыми через метод System.load(), а не только
файлами в форматах DEX и JAR. DCL позволяет избежать подстановки вредоносного кода в динамически загружаемые исполняемые файлы, благодаря выставлению для подобных файлов прав доступа, допускающих только чтение. - A tanúsítványátláthatósági mechanizmus alapértelmezés szerint engedélyezve van, és nyilvános naplót vezet az összes kiállított és visszavont tanúsítványról.
- Bevezetésre került az APK-csomagok digitális aláírással történő hitelesítésének lehetősége egy hibrid algoritmus alapján, amely a klasszikus algoritmust a kvantumszámítógépeken a nyers erővel szemben ellenálló ML-DSA algoritmussal ötvözi.
- Для приложений, работающих в фоновом режиме, ограничен доступ к API для воспроизведения звука, подключения к звуковым устройствам и изменения громкости. Подразумевается, что только активные приложения, с которыми в данный момент взаимодействует пользователь, могут начинать воспроизведение и менять громкость.
- Hozzáadott támogatás a hibrid titkosításhoz a HPKE (Hybrid Public Key Encryption, RFC 9180) mechanizmus alapján, amely ötvözi a kulcsátvitel egyszerűségét a nyilvános kulcsú titkosításban a szimmetrikus titkosítás nagy teljesítményével (az adatokat egy gyors szimmetrikus kulccsal, magát a kulcsot pedig egy lassú aszimmetrikus kulccsal titkosítják).
- При вводе паролей и PIN-кодов при помощи физической клавиатуры по умолчанию отключено отображение последнего введённого символа по мере набора.
- A játékokban az érintőpad-támogatás megvalósításának egyszerűsítése érdekében az egér és az érintőpad eseményeinek kezelését egységesítették. Alapértelmezés szerint a mutatómozgásokhoz és görgetési gesztusokhoz kapcsolódó érintőpad-események mostantól relatív koordinátákká alakulnak, akárcsak az egér esetében. Az abszolút koordinátákhoz való hozzáférés a POINTER_CAPTURE_MODE_ABSOLUTE mód explicit megadásával biztosított.
- A getInitialRestingBounds() metódus hozzáadásra került a ChooserSession objektumhoz, lehetővé téve a Chooser párbeszédablak végső pozíciójának és méretének megtudását az animáció leállása és az adatok betöltése után.
- Hozzáadva a getStreamingAppMaxDownlinkKbps és a getStreamingAppMaxUplinkKbps metódusok a kommunikációs csatorna maximális sávszélességének meghatározásához a streamelés minőségi szintjének kiválasztásához.
- Egy API-t biztosítottak a hardvergyártók számára, hogy olyan kamerabővítményeket hozzanak létre, amelyek alkalmazásspecifikus funkciókat tesznek lehetővé, mint például a Super Resolution részletjavító motor, a zajcsökkentő módok és a mesterséges intelligencia által fejlesztett minőségoptimalizálók.
- Hozzáadott API a kamera típusával (beépített kamera, USB webkamera vagy virtuális kamera) kapcsolatos információk lekéréséhez.
- Támogatás került a Bluetooth Low Energy (BLE) kapcsolaton keresztül csatlakoztatott hallókészülékekhez. Ezek az eszközök mostantól az új TYPE_BLE_HEARING_AID kategóriába tartoznak, így az alkalmazások különbséget tehetnek a hallókészülékek és a fejhallgatók között, és külön vezérelhetik a rendszerhangok lejátszását (például az értesítéseket, csengőhangokat és riasztásokat a telefon beépített hangszóróján játszhatja le a hallókészülék helyett).
- Külön beállításokat adtunk hozzá a fizikai billentyűzeten és az érintőképernyőn beírt jelszavak megjelenítéséhez. Alapértelmezés szerint a fizikai billentyűzettel beírt jelszókarakterek azonnal rejtve maradnak.
- Az alkalmazáswidgetek külső képernyőkön való megjelenítésének javítása a DPI-különbségek figyelembevételével a méretezés során.
- Hozzáadva az ACTION_VPN_APP_EXCLUSION_SETTINGS kérés, amellyel megnyitható egy rendszerképernyő, amelynek beállításai lehetővé teszik az alkalmazás számára a VPN-alagút megkerülésével történő hálózati hozzáférést.
- Hozzáadott támogatás az OpenJDK 25 nyelvi funkciókhoz és Java osztályokhoz.
- A kamera API képességei kibővültek. Az updateOutputConfigurations() metódus hozzáadódott a CameraCaptureSession objektumhoz, hogy menet közben lehessen kimeneti régiókat csatolni vagy leválasztani anélkül, hogy újra kellene konfigurálni a teljes kamerafelvételi munkamenetet. Ez a módosítás lehetővé teszi a zökkenőmentes váltást a különböző kameramódok között (például videofelvétel és fényképezés). Több fizikai érzékelőt magában foglaló logikai kamerák használatakor lehetőség nyílt metaadatok lekérésére minden érzékelőhöz, nem csak az elsődlegeshez.
- Az android:usesCleartextTraffic attribútum, amely lehetővé tette az alkalmazások számára titkosítatlan forgalom, például „http://” kérések továbbítását, elavulttá vált. Ha titkosítatlan forgalomra van szükség, külön biztonsági konfigurációs fájlokat kell használni.
- Hozzáadott beállítások a VoIP híváselőzmények kezeléséhez, lehetővé téve annak szabályozását, hogy a rendszer mentse-e az információkat a naplókban, és hogy a befejezett hívásokkal kapcsolatos információk megjelenjenek-e a felületen.
- A Wi-Fi RTT (Round-Trip-Time) API-t kibővítették, hogy folyamatos közelségbecslést biztosítson a hozzáférési pontokhoz, és biztonságos peer-to-peer csomópont-észlelést biztosítson.
- Új profilok kerültek hozzáadásra a CompanionDeviceManagerhez, amelyekkel engedélyeket lehet kérni, és lehetővé válik az alkalmazások interakciója az orvostechnikai eszközökkel és fitneszkövetőkkel.
- В Android A Runtime (ART) egy generációs szemétgyűjtőt (Generational Concurrent Mark-Compact Garbage Collector) valósít meg, amely elkülöníti a „régi” és a „fiatal” objektumok feldolgozását, javítva ezzel a nemrég létrehozott, rövid élettartamú objektumok tisztításának hatékonyságát. A generációs szemétgyűjtő használata csökkenti az erőforrás-elosztás során fellépő leállások kockázatát és csökkenti a CPU-terhelést, javítva az energiahatékonyságot.
- Реализовано ограничение на максимальный объём оперативной памяти, которое может занимать приложение. При превышении лимита, вычисляемого на основе имеющегося в устройстве ОЗУ, приложение принудительно завершается. Для сокращения размера потребляемой памяти предложен 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%.
- Az android.os.MessageQueue üzenetsor új implementációját javasolják, amely zárolások nélkül működik. Ez az új implementáció javítja a teljesítményt és csökkenti a keretveszteséget.
- Támogatást igénylő kérelmek Android A 17-es és újabb kiadásokban tilos a „statikus végleges” jelölésű mezők értékeinek módosítása, így futásidőben agresszívabb teljesítményoptimalizálások engedélyezhetők.
- A memóriafogyasztás csökkentése érdekében az egyéni értesítési nézet elrendezéseinek méretét korlátoztuk.
- További triggerek, a TRIGGER_TYPE_COLD_START, a TRIGGER_TYPE_OOM és a TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE kerültek a ProfilingManager profilozóba, hogy hasznos adatokat gyűjtsenek a teljesítményproblémák hibakereséséhez.
Forrás: opennet.ru












