Google har lanceret en åben mobilplatform. 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):
- En ny multi-vindue-tilstand, "Bubbles", er blevet tilføjet. Den giver dig mulighed for at starte enhver applikation i flydende vinduer, svarende til overlay-notifikationer til afsendelse af beskeder ("bubbles"), men ikke bundet til en specialiseret API. Åbning af en applikation i et flydende vindue opnås ved at trykke længe på applikationsikonet. På større skærme vises ikoner for flydende vinduer i et separat område på proceslinjen. Disse vinduer kan grupperes, flyttes og fastgøres til skærmen.

- Platformudvikling til enheder med store skærme, såsom tablets, bærbare computere, stationære computere og smartphones med foldbare skærme, er fortsat. Tidligere aktiverede muligheder for at deaktivere ny adfærd på enheder med skærme bredere end 600 pixels (dp) er blevet fjernet. Denne adfærd var relateret til at ignorere visse API'er til styring af skærmstørrelse og -retning (screenOrientation, resizeableActivity, [min|max]AspectRatio), samt adaptiv placering af applikationer i vinduer, der kan tilpasses størrelsen, og som kan flyttes.


- EyeDropper-system-API'en er blevet tilføjet, hvilket giver applikationer mulighed for at indhente farveoplysninger for enhver pixel på skærmen uden at kræve tilladelser til skærmoptagelse. Sikkerheden sikres ved at give brugeren mulighed for at vælge det område, der skal farveoptages, via en platformstyret pipettegrænseflade, som ikke er under applikationens kontrol. Det betyder, at applikationer ikke kan anmode om oplysninger om en bestemt pixel eller genskabe skærmindholdet pixel for pixel.

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

- PhotoPickerUiCustomizationParams API er blevet tilføjet for at tilpasse brugerfladen til fotovælgeren, så den bedre matcher stilen i den opkaldende app. For eksempel kan du ændre billedformatet for miniaturebilleder fra 1:1 (kvadratisk) til 9:16 (portræt).

- Tilladelsen USE_LOCATION_BUTTON er blevet tilføjet, hvilket giver dig mulighed for at integrere en systemknap i din apps brugerflade for at give adgang til præcise positionsdata. Knappen gengives af systemet, og når brugeren klikker på den, giver den kun adgang til positionsdata i den aktuelle sessions varighed.

- Der er tilføjet en indstilling, der giver dig mulighed for at skjule visningen af programnavne under deres ikoner.


- Designet af værktøjslinjen til screencast-optagelse er blevet ændret.

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

- Tilføjet Handoff API, så du kan overføre status for en applikation til en anden i nærheden Android-enhed (for eksempel en tablet) og fortsæt med at arbejde der.

- Implementerede interaktive dockede vinduer, der i modsætning til traditionelle Picture-in-Picture-vinduer forbliver interaktive, når de er docket over andre programmer i skrivebordstilstand.
- To nye API'er er blevet tilføjet: UWB DL-TDOA API'en til at bestemme en enheds position i en bygning ved hjælp af Wi-Fi til indendørs navigation; og Proximity Detection API'en til at detektere enheder i nærheden via Wi-Fi.
- Der er tilføjet understøttelse af VVC (Versatile Video Coding) videoformatet, også kendt som H.266 videokomprimeringsstandarden, udviklet i fællesskab af MPEG (ISO/IEC JTC 1) og VCEG (ITU-T) arbejdsgrupperne med deltagelse af virksomheder som Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm og Sony. H.266 erstatter H.265 (HEVC) og leverer højeffektiv transmission og lagring til alle skærmopløsninger (fra SD og HD til 4K og 8K), understøtter High Dynamic Range (HDR) video og 360-graders panoramavideo.
- Muligheden for at optage video med et konstant kvalitetsniveau er blevet tilføjet. Denne tilstand konfigureres i MediaRecorder-objektet ved hjælp af setVideoEncodingQuality()-metoden, der giver dig mulighed for at låse kvalitetsniveauet uanset bithastigheden.
- Добавлена поддержка формата изображений RAW14, применяемого в профессиональных цифровых камерах и обеспечивающего хранение 15 бит на цветовой канал.
- Добавлено поддержка формата HDR-видео Eclipsa Video.
- Tilføjet softwarekoder til HE-AAC (High-Efficiency Advanced Audio Coding) lydformatet, der understøtter både lave og høje bitrater.
- En ny tilladelse, ACCESS_LOCAL_NETWORK, er blevet tilføjet for at begrænse apps adgang til det lokale netværk. Denne tilladelse giver apps mulighed for at identificere og oprette forbindelse til enheder på det lokale netværk, såsom smart home-enheder og multimediesystemer. Denne tilladelse blev tilføjet for at forhindre ondsindede apps i at scanne lokale netværksressourcer, for eksempel for i hemmelighed at identificere brugerens miljø.
- Beskyttelsen mod aflytning af engangsadgangskoder (OTP'er) og bekræftelseskoder sendt via SMS er blevet udvidet. De fleste apps har nu kun direkte adgang til disse beskeder tre timer efter, at de er modtaget. Standard-SMS-læseren viser disse beskeder med det samme.
- Реализована защита от звонков мошенников, представляющихся сотрудниками банка. Платформа может взаимодействовать с установленными банковскими приложениями для подтверждения того, что звонок инициирован банком. Также банки могут определять номера телефонов на которых допускаются только входящие звонки.
- Добавлена возможность предоставления приложениям временного доступа к данным о точном местоположении, действующего только в течение текущего сеанса работы с программой.
- Механизм защиты динамической загрузки кода (DCL, Dynamic Code Loading) расширен для применения с нативными библиотеками, загружаемыми через метод System.load(), а не только
файлами в форматах DEX и JAR. DCL позволяет избежать подстановки вредоносного кода в динамически загружаемые исполняемые файлы, благодаря выставлению для подобных файлов прав доступа, допускающих только чтение. - Mekanismen for certifikattransparens er aktiveret som standard og vedligeholder en offentlig log over alle udstedte og tilbagekaldte certifikater.
- Muligheden for at certificere APK-pakker med en digital signatur baseret på en hybridalgoritme, der kombinerer den klassiske algoritme med ML-DSA-algoritmen, som er modstandsdygtig over for brute force på en kvantecomputer, er blevet introduceret.
- Для приложений, работающих в фоновом режиме, ограничен доступ к API для воспроизведения звука, подключения к звуковым устройствам и изменения громкости. Подразумевается, что только активные приложения, с которыми в данный момент взаимодействует пользователь, могут начинать воспроизведение и менять громкость.
- Tilføjet understøttelse af hybridkryptering baseret på HPKE-mekanismen (Hybrid Public Key Encryption, RFC 9180), som kombinerer den nemme nøgleoverførsel i offentlig nøglekryptering med den høje ydeevne af symmetrisk kryptering (data krypteres med en hurtig symmetrisk nøgle, og selve nøglen krypteres med en langsom asymmetrisk nøgle).
- При вводе паролей и PIN-кодов при помощи физической клавиатуры по умолчанию отключено отображение последнего введённого символа по мере набора.
- For at forenkle implementeringen af touchpad-understøttelse i spil er håndteringen af mus- og touchpad-hændelser blevet samlet. Som standard konverteres touchpad-hændelser relateret til markørbevægelser og rullebevægelser nu til relative koordinater, ligesom for en mus. Adgang til absolutte koordinater gives ved eksplicit at angive tilstanden POINTER_CAPTURE_MODE_ABSOLUTE.
- Metoden getInitialRestingBounds() er blevet tilføjet til ChooserSession-objektet, hvilket giver dig mulighed for at finde den endelige position og størrelse af Chooser-dialogboksen, efter animationen stopper, og dataene er indlæst.
- Tilføjede metoderne getStreamingAppMaxDownlinkKbps og getStreamingAppMaxUplinkKbps til at bestemme kommunikationskanalens maksimale båndbredde med det formål at vælge kvalitetsniveauet for streaming.
- En API er blevet leveret til hardwareproducenter for at skabe kameraudvidelser, der muliggør applikationsspecifikke funktioner, såsom Super Resolution-detaljeforbedringsmotoren, støjreduktionstilstande og AI-kvalitetsoptimeringsværktøjer.
- Tilføjet API til at hente information om kameratype (indbygget kamera, USB-webcam eller virtuelt kamera).
- Der er tilføjet understøttelse af høreapparater, der er tilsluttet via Bluetooth Low Energy (BLE). Disse enheder er nu klassificeret under den nye kategori TYPE_BLE_HEARING_AID, der giver apps mulighed for at skelne mellem høreapparater og hovedtelefoner og styre systemets lydafspilning separat (for eksempel kan du afspille notifikationer, ringetoner og alarmer på din telefons indbyggede højttaler i stedet for på dit høreapparat).
- Der er tilføjet separate indstillinger til visning af adgangskoder indtastet på det fysiske tastatur og på berøringsskærmen. Som standard skjules adgangskodetegn indtastet med det fysiske tastatur med det samme.
- Forbedret visning af app-widgets på eksterne skærme ved at tage højde for forskelle i DPI ved skalering.
- Tilføjede anmodningen ACTION_VPN_APP_EXCLUSION_SETTINGS, som kan bruges til at åbne en systemskærm med indstillinger, der tillader en applikation at have netværksadgang ved at omgå VPN-tunnelen.
- Tilføjet understøttelse af OpenJDK 25-sprogfunktioner og Java-klasser.
- Kameraets API-funktioner er blevet udvidet. Metoden updateOutputConfigurations() er blevet tilføjet til CameraCaptureSession-objektet for at tilknytte eller frakoble outputområder undervejs uden at skulle omkonfigurere hele kameraets optagelsessession. Denne ændring muliggør problemfri skift mellem forskellige kameratilstande (f.eks. videooptagelse og fototagning). Når man arbejder med logiske kameraer, der spænder over flere fysiske sensorer, er muligheden for at hente metadata for hver sensor, ikke kun den primære, blevet tilføjet.
- Attributten android:usesCleartextTraffic, som tillod applikationer at overføre ukrypteret trafik, såsom "http://"-anmodninger, er blevet udfaset. Hvis ukrypteret trafik er påkrævet, skal separate sikkerhedskonfigurationsfiler bruges.
- Tilføjede indstillinger til administration af VoIP-opkaldshistorik, så du kan kontrollere, om oplysninger gemmes i logfiler, og om oplysninger om gennemførte opkald vises i brugergrænsefladen.
- Wi-Fi RTT (Round-Trip-Time) API'en er blevet udvidet til at give kontinuerlig nærhedsestimering til adgangspunkter og sikker peer-to-peer-nodedetektion.
- Nye profiler er blevet tilføjet til CompanionDeviceManager til anmodning om tilladelser og aktivering af app-interaktioner med medicinsk udstyr og fitnesstrackere.
- В Android Runtime (ART) implementerer en generationsbaseret garbage collector (Generational Concurrent Mark-Compact Garbage Collector), som adskiller behandlingen af "gamle" og "unge" objekter, hvilket forbedrer effektiviteten af oprydning af nyligt oprettede objekter med kort levetid. Brugen af en generationsbaseret garbage collector reducerer risikoen for stop under ressourceallokering og reducerer CPU-belastningen, hvilket forbedrer energieffektiviteten.
- Реализовано ограничение на максимальный объём оперативной памяти, которое может занимать приложение. При превышении лимита, вычисляемого на основе имеющегося в устройстве ОЗУ, приложение принудительно завершается. Для сокращения размера потребляемой памяти предложен 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%.
- En ny implementering af beskedkøen android.os.MessageQueue foreslås, som fungerer uden låse. Denne nye implementering forbedrer ydeevnen og reducerer frametab.
- Ansøgninger, der kræver støtte Android I version 17 og senere versioner er det forbudt at ændre værdierne i felter markeret som "statisk endelig", hvilket giver mulighed for at aktivere mere aggressive ydeevneoptimeringer under kørsel.
- For at reducere hukommelsesforbruget er størrelsen af brugerdefinerede meddelelsesvisningslayouts blevet begrænset.
- Yderligere triggere TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM og TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE er blevet tilføjet til ProfilingManager-profileren for at indsamle data, der er nyttige til fejlfinding af ydeevneproblemer.
Kilde: opennet.ru












