Google har lansert en åpen mobilplattform. 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 flervindumodus, «Bobler», er lagt til. Den lar deg starte et hvilket som helst program i flytende vinduer, på samme måte som overleggsvarsler for sending av meldinger («bobler»), men ikke knyttet til et spesialisert API. Du åpner et program i et flytende vindu ved å trykke lenge på programikonet. På større skjermer vises flytende vindusikoner i et eget område på oppgavelinjen. Disse vinduene kan grupperes, flyttes og festes til skjermen.

- Plattformutvikling for enheter med store skjermer, som nettbrett, bærbare datamaskiner, stasjonære systemer og smarttelefoner med sammenleggbare skjermer, har fortsatt. Tidligere aktiverte alternativer for å deaktivere ny virkemåte på enheter med skjermer bredere enn 600 piksler (dp) er fjernet. Denne virkemåten var relatert til å ignorere visse API-er for administrasjon av skjermstørrelse og -retning (screenOrientation, resizeableActivity, [min|max]AspectRatio), samt adaptiv plassering av applikasjoner i vinduer som kan endres i størrelse og flyttes.


- EyeDropper-system-API-et er lagt til, slik at applikasjoner kan hente fargeinformasjon for enhver piksel på skjermen uten å kreve tillatelser for skjermbildeopptak. Sikkerhet sikres ved å la brukeren velge området som skal fargeregistreres via et plattformstyrt pipettegrensesnitt, som ikke er under applikasjonens kontroll. Dette betyr at applikasjoner ikke kan be om informasjon om en bestemt piksel eller gjenskape skjerminnholdet piksel for piksel.

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

- PhotoPickerUiCustomizationParams API er lagt til for å tilpasse grensesnittet til bildevelgeren, slik at det bedre matcher stilen til anropsappen. Du kan for eksempel endre sideforholdet til miniatyrbilder fra 1:1 (kvadratisk) til 9:16 (stående).

- Tillatelsen USE_LOCATION_BUTTON er lagt til, slik at du kan legge inn en systemknapp i appens grensesnitt for å gi tilgang til presise posisjonsdata. Knappen gjengis av systemet, og når brukeren klikker på den, gir den tilgang til posisjonsdata bare for varigheten av den gjeldende økten.

- En innstilling er lagt til som lar deg skjule visningen av programnavn under ikonene deres.


- Utformingen av verktøylinjen for skjermopptak er endret.

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

- La til Handoff API, slik at du kan overføre statusen til et program til et annet i nærheten Android-enhet (for eksempel et nettbrett) og fortsett å jobbe der.

- Implementerte interaktive, forankrede vinduer som, i motsetning til tradisjonelle bilde-i-bilde-vinduer, forblir interaktive når de er forankret over andre applikasjoner i skrivebordsmodus.
- To nye API-er er lagt til: UWB DL-TDOA API for å bestemme posisjonen til en enhet inne i en bygning ved hjelp av Wi-Fi for innendørs navigasjon; og Proximity Detection API for å oppdage enheter i nærheten via Wi-Fi.
- Støtte er lagt til for videoformatet VVC (Versatile Video Coding), også kjent som H.266-videokomprimeringsstandarden, utviklet i fellesskap av arbeidsgruppene MPEG (ISO/IEC JTC 1) og VCEG (ITU-T), med deltakelse fra selskaper som Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm og Sony. H.266 erstatter H.265 (HEVC) og gir høyeffektiv overføring og lagring for alle skjermoppløsninger (fra SD og HD til 4K og 8K), støtter High Dynamic Range (HDR)-video og 360-graders panoramavideo.
- Muligheten til å ta opp video med et konstant kvalitetsnivå er lagt til. Denne modusen konfigureres i MediaRecorder-objektet ved hjelp av setVideoEncodingQuality()-metoden, som lar deg låse kvalitetsnivået uavhengig av bithastighet.
- Добавлена поддержка формата изображений RAW14, применяемого в профессиональных цифровых камерах и обеспечивающего хранение 15 бит на цветовой канал.
- Добавлено поддержка формата HDR-видео Eclipsa Video.
- La til programvarekoder for lydformatet HE-AAC (High-Efficiency Advanced Audio Coding), som støtter både lave og høye bithastigheter.
- En ny tillatelse, ACCESS_LOCAL_NETWORK, er lagt til for å begrense apptilgang til det lokale nettverket. Denne tillatelsen lar apper identifisere og koble til enheter på det lokale nettverket, for eksempel smarthjemenheter og multimediesystemer. Denne tillatelsen ble lagt til for å forhindre at ondsinnede apper skanner lokale nettverksressurser, for eksempel for å i hemmelighet identifisere brukerens miljø.
- Beskyttelsen mot avlytting av engangspassord (OTP-er) og bekreftelseskoder sendt via SMS er utvidet. De fleste apper har nå bare direkte tilgang til disse meldingene tre timer etter at de er mottatt. Standard SMS-leseren viser disse meldingene umiddelbart.
- Реализована защита от звонков мошенников, представляющихся сотрудниками банка. Платформа может взаимодействовать с установленными банковскими приложениями для подтверждения того, что звонок инициирован банком. Также банки могут определять номера телефонов на которых допускаются только входящие звонки.
- Добавлена возможность предоставления приложениям временного доступа к данным о точном местоположении, действующего только в течение текущего сеанса работы с программой.
- Механизм защиты динамической загрузки кода (DCL, Dynamic Code Loading) расширен для применения с нативными библиотеками, загружаемыми через метод System.load(), а не только
файлами в форматах DEX и JAR. DCL позволяет избежать подстановки вредоносного кода в динамически загружаемые исполняемые файлы, благодаря выставлению для подобных файлов прав доступа, допускающих только чтение. - Mekanismen for sertifikattransparens er aktivert som standard, og opprettholder en offentlig logg over alle utstedte og tilbakekalte sertifikater.
- Muligheten til å sertifisere APK-pakker med en digital signatur basert på en hybridalgoritme som kombinerer den klassiske algoritmen med ML-DSA-algoritmen, som er motstandsdyktig mot råstyrke på en kvantedatamaskin, har blitt introdusert.
- Для приложений, работающих в фоновом режиме, ограничен доступ к API для воспроизведения звука, подключения к звуковым устройствам и изменения громкости. Подразумевается, что только активные приложения, с которыми в данный момент взаимодействует пользователь, могут начинать воспроизведение и менять громкость.
- La til støtte for hybridkryptering basert på HPKE-mekanismen (Hybrid Public Key Encryption, RFC 9180), som kombinerer den enkle nøkkeloverføringen i offentlig nøkkelkryptering med den høye ytelsen til symmetrisk kryptering (data krypteres med en rask symmetrisk nøkkel, og selve nøkkelen krypteres med en langsom asymmetrisk nøkkel).
- При вводе паролей и PIN-кодов при помощи физической клавиатуры по умолчанию отключено отображение последнего введённого символа по мере набора.
- For å forenkle implementeringen av berøringsplatestøtte i spill, er håndteringen av mus- og berøringsplatehendelser blitt samlet. Som standard konverteres berøringsplatehendelser relatert til pekerbevegelser og rullebevegelser nå til relative koordinater, akkurat som for en mus. Tilgang til absolutte koordinater gis ved å eksplisitt spesifisere POINTER_CAPTURE_MODE_ABSOLUTE-modusen.
- Metoden getInitialRestingBounds() er lagt til i ChooserSession-objektet, slik at du kan finne ut den endelige posisjonen og størrelsen på Chooser-dialogboksen etter at animasjonen stopper og dataene er lastet inn.
- La til metodene getStreamingAppMaxDownlinkKbps og getStreamingAppMaxUplinkKbps for å bestemme maksimal båndbredde for kommunikasjonskanalen med det formål å velge kvalitetsnivå for strømming.
- Et API har blitt levert til maskinvareprodusenter for å lage kamerautvidelser som muliggjør applikasjonsspesifikke funksjoner, for eksempel detaljforbedringsmotoren Super Resolution, støyreduksjonsmoduser og AI-kvalitetsoptimaliserere.
- La til API for å hente informasjon om kameratype (innebygd kamera, USB-webkamera eller virtuelt kamera).
- Støtte er lagt til for høreapparater koblet til via Bluetooth Low Energy (BLE). Disse enhetene er nå klassifisert under den nye kategorien TYPE_BLE_HEARING_AID, som lar apper skille mellom høreapparater og hodetelefoner og kontrollere avspilling av systemlyd separat (for eksempel kan du spille av varsler, ringetoner og alarmer på telefonens innebygde høyttaler i stedet for på høreapparatet).
- Det er lagt til separate innstillinger for visning av passord som er skrevet inn på det fysiske tastaturet og på berøringsskjermen. Som standard skjules passordtegn som er skrevet inn med det fysiske tastaturet umiddelbart.
- Forbedret visning av app-widgeter på eksterne skjermer ved å ta hensyn til forskjeller i DPI ved skalering.
- La til forespørselen ACTION_VPN_APP_EXCLUSION_SETTINGS, som kan brukes til å åpne en systemskjerm med innstillinger som tillater at et program har nettverkstilgang ved å omgå VPN-tunnelen.
- La til støtte for OpenJDK 25-språkfunksjoner og Java-klasser.
- Kamera-API-funksjonene er utvidet. Metoden updateOutputConfigurations() er lagt til i CameraCaptureSession-objektet for å koble til eller fra utdataområder underveis uten å måtte konfigurere hele kameraopptaksøkten på nytt. Denne endringen muliggjør sømløs bytte mellom forskjellige kameramoduser (for eksempel videoopptak og fotografering). Når man arbeider med logiske kameraer som spenner over flere fysiske sensorer, er muligheten til å hente metadata for hver sensor, ikke bare den primære, lagt til.
- android:usesCleartextTraffic-attributtet, som tillot applikasjoner å overføre ukryptert trafikk, for eksempel "http://"-forespørsler, er utdatert. Hvis ukryptert trafikk er nødvendig, bør separate sikkerhetskonfigurasjonsfiler brukes.
- La til innstillinger for å administrere VoIP-anropshistorikk, slik at du kan kontrollere om informasjon lagres i logger og om informasjon om fullførte samtaler vises i grensesnittet.
- Wi-Fi RTT (Round-Trip-Time) API-et er utvidet for å gi kontinuerlig nærhetsestimering til tilgangspunkter og sikker peer-to-peer-nodedeteksjon.
- Nye profiler er lagt til i CompanionDeviceManager for å be om tillatelser og aktivere appinteraksjoner med medisinsk utstyr og treningsmålere.
- В Android Runtime (ART) implementerer en generasjonsbasert søppelsamler (Generational Concurrent Mark-Compact Garbage Collector), som skiller behandlingen av "gamle" og "unge" objekter, noe som forbedrer effektiviteten ved oppryddingen av nylig opprettede objekter med kort levetid. Bruken av en generasjonsbasert søppelsamler reduserer risikoen for blokkeringer under ressursallokering og reduserer CPU-belastningen, noe som 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 av meldingskøen android.os.MessageQueue foreslås, som opererer uten låser. Denne nye implementeringen forbedrer ytelsen og reduserer tap av rammer.
- Søknader som krever støtte Android I versjon 17 og senere er det forbudt å endre verdiene til felt merket som «statisk endelig», noe som gjør at mer aggressive ytelsesoptimaliseringer kan aktiveres under kjøring.
- For å redusere minneforbruket er størrelsen på tilpassede varslingsvisningsoppsett begrenset.
- Ytterligere utløsere, TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM og TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE, er lagt til i ProfilingManager-profileren for å samle inn data som er nyttige for feilsøking av ytelsesproblemer.
Kilde: opennet.ru












