Google on julkaissut avoimen mobiilialustan. 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):
- Uusi moni-ikkunatila, "Kuplat", on lisätty. Sen avulla voit käynnistää minkä tahansa sovelluksen kelluvissa ikkunoissa, samalla tavalla kuin viestien lähettämisen ilmoitusruudut ("kuplat"), mutta se ei ole sidottu erityiseen API:in. Sovelluksen avaaminen kelluvassa ikkunassa tapahtuu painamalla sovelluskuvaketta pitkään. Suuremmilla näytöillä kelluvien ikkunoiden kuvakkeet näkyvät erillisellä alueella tehtäväpalkissa. Näitä ikkunoita voidaan ryhmitellä, siirtää ja kiinnittää näyttöön.

- Suurinäyttöisten laitteiden, kuten tablettien, kannettavien tietokoneiden, pöytätietokoneiden ja taittuvalla näytöllä varustettujen älypuhelinten, alustakehitys on jatkunut. Aiemmin käytössä olleet asetukset uuden toiminnan poistamiseksi käytöstä laitteissa, joiden näyttö on leveämpi kuin 600 pikseliä (dp), on poistettu. Tämä toiminta liittyi tiettyjen näytön koon ja suunnan hallintaan liittyvien API-rajapintojen (screenOrientation, resizeableActivity, [min|max]AspectRatio) sekä sovellusten mukautuvan sijoittelun ohittamiseen muutettavan kokoisissa ja siirrettävissä ikkunoissa.


- EyeDropper-järjestelmän API on lisätty, minkä ansiosta sovellukset voivat hakea väritietoja mistä tahansa näytön pikselistä ilman näytön kaappausoikeuksia. Tietoturva varmistetaan antamalla käyttäjälle mahdollisuus valita värien kaappaama alue alustan hallinnoiman pipettikäyttöliittymän kautta, joka ei ole sovelluksen hallinnassa. Tämä tarkoittaa, että sovellukset eivät voi pyytää tietoja tietystä pikselistä tai luoda näytön sisältöä uudelleen pikseli pikseliltä.

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

- PhotoPickerUiCustomizationParams-sovellusliittymä on lisätty kuvanvalitsimen käyttöliittymän mukauttamiseksi, jotta se vastaa paremmin kutsuvan sovelluksen tyyliä. Voit esimerkiksi muuttaa kuvien pikkukuvien kuvasuhteen arvosta 1:1 (neliö) arvoon 9:16 (pysty).

- USE_LOCATION_BUTTON-käyttöoikeus on lisätty, minkä ansiosta voit upottaa sovelluksesi käyttöliittymään järjestelmäpainikkeen, joka myöntää pääsyn tarkkoihin sijaintitietoihin. Järjestelmä renderöi painikkeen, ja käyttäjän napsauttamana se myöntää pääsyn sijaintitietoihin vain nykyisen istunnon ajaksi.

- Asetus, jonka avulla voit piilottaa sovellusten nimien näytön niiden kuvakkeiden alta, on lisätty.


- Kuvalähetysten tallennustyökalurivin ulkoasua on muutettu.

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

- Lisätty Handoff-API, jonka avulla voit siirtää sovelluksen tilan toiseen lähellä olevaan sovellukseen Android-laitteella (esimerkiksi tabletilla) ja jatka työskentelyä siellä.

- Toteutettiin vuorovaikutteiset telakoidut ikkunat, jotka perinteisistä kuva kuvassa -ikkunoista poiketen pysyvät vuorovaikutteisina telakoituna muiden sovellusten päälle työpöytätilassa.
- Kaksi uutta API-rajapintaa on lisätty: UWB DL-TDOA API laitteen sijainnin määrittämiseen rakennuksen sisällä Wi-Fi-yhteyden avulla sisätiloissa tapahtuvaa navigointia varten; ja läheisyyden tunnistuksen API lähellä olevien laitteiden havaitsemiseen Wi-Fin kautta.
- VVC (Versatile Video Coding) -videomuodolle, joka tunnetaan myös nimellä H.266-videonpakkausstandardi, on lisätty tuki. Sen kehittivät yhdessä MPEG (ISO/IEC JTC 1) ja VCEG (ITU-T) -työryhmät. Mukana olivat muun muassa Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm ja Sony. H.266 korvaa H.265 (HEVC) -formaatin ja tarjoaa tehokkaan tiedonsiirron ja tallennuksen kaikille näytön resoluutioille (SD:stä ja HD:stä 4K:hon ja 8K:hon), tukee High Dynamic Range (HDR) -videota ja 360 asteen panoraamavideota.
- Mahdollisuus tallentaa videota vakiolaatutasolla on lisätty. Tämä tila määritetään MediaRecorder-objektissa setVideoEncodingQuality()-metodilla, jonka avulla voit lukita laatutason bittinopeudesta riippumatta.
- Добавлена поддержка формата изображений RAW14, применяемого в профессиональных цифровых камерах и обеспечивающего хранение 15 бит на цветовой канал.
- Добавлено поддержка формата HDR-видео Eclipsa Video.
- Lisätty ohjelmistokooderi HE-AAC (High-Efficiency Advanced Audio Coding) -äänimuodolle, joka tukee sekä matalia että korkeita bittinopeuksia.
- Uusi käyttöoikeus, ACCESS_LOCAL_NETWORK, on lisätty rajoittamaan sovellusten pääsyä lähiverkkoon. Tämän käyttöoikeuden avulla sovellukset voivat tunnistaa ja muodostaa yhteyden lähiverkon laitteisiin, kuten älykotilaitteisiin ja multimediajärjestelmiin. Tämä käyttöoikeus lisättiin estämään haitallisia sovelluksia skannaamasta lähiverkon resursseja esimerkiksi käyttäjän ympäristön salaa tunnistamiseksi.
- Suojausta tekstiviestitse lähetettyjen kertakäyttöisten salasanojen (OTP) ja vahvistuskoodien sieppaukselta on laajennettu. Useimmilla sovelluksilla on nyt suora pääsy näihin viesteihin vasta kolmen tunnin kuluttua niiden vastaanottamisesta. Oletusarvoinen tekstiviestilukija näyttää nämä viestit välittömästi.
- Реализована защита от звонков мошенников, представляющихся сотрудниками банка. Платформа может взаимодействовать с установленными банковскими приложениями для подтверждения того, что звонок инициирован банком. Также банки могут определять номера телефонов на которых допускаются только входящие звонки.
- Добавлена возможность предоставления приложениям временного доступа к данным о точном местоположении, действующего только в течение текущего сеанса работы с программой.
- Механизм защиты динамической загрузки кода (DCL, Dynamic Code Loading) расширен для применения с нативными библиотеками, загружаемыми через метод System.load(), а не только
файлами в форматах DEX и JAR. DCL позволяет избежать подстановки вредоносного кода в динамически загружаемые исполняемые файлы, благодаря выставлению для подобных файлов прав доступа, допускающих только чтение. - Sertifikaattien läpinäkyvyysmekanismi on oletusarvoisesti käytössä, ja se ylläpitää julkista lokia kaikista myönnetyistä ja peruutetuista sertifikaateista.
- APK-paketteja voidaan sertifioida digitaalisella allekirjoituksella, joka perustuu hybridialgoritmiin, joka yhdistää klassisen algoritmin ja kvanttitietokoneella raa'alla voimalla tehtävät hyökkäykset kestävän ML-DSA-algoritmin.
- Для приложений, работающих в фоновом режиме, ограничен доступ к API для воспроизведения звука, подключения к звуковым устройствам и изменения громкости. Подразумевается, что только активные приложения, с которыми в данный момент взаимодействует пользователь, могут начинать воспроизведение и менять громкость.
- Lisätty tuki hybridisalaukselle HPKE-mekanismin (Hybrid Public Key Encryption, RFC 9180) pohjalta. HPKE yhdistää julkisen avaimen salauksen helpon avaimensiirron symmetrisen salauksen korkeaan suorituskykyyn (tiedot salataan nopealla symmetrisellä avaimella ja itse avain hitaalla epäsymmetrisellä avaimella).
- При вводе паролей и PIN-кодов при помощи физической клавиатуры по умолчанию отключено отображение последнего введённого символа по мере набора.
- Kosketuslevyn tuen toteutuksen yksinkertaistamiseksi peleissä hiiren ja kosketuslevyn tapahtumien käsittelyä on yhtenäistetty. Oletusarvoisesti osoittimen liikkeisiin ja vierityseleisiin liittyvät kosketuslevyn tapahtumat muunnetaan nyt suhteellisiksi koordinaateiksi, aivan kuten hiirellä. Absoluuttisiin koordinaatteihin pääsee käsiksi määrittämällä erikseen POINTER_CAPTURE_MODE_ABSOLUTE-tila.
- ChooserSession-objektiin on lisätty getInitialRestingBounds()-metodi, jonka avulla voit selvittää Chooser-valintaikkunan lopullisen sijainnin ja koon animaation pysähtymisen ja datan latautumisen jälkeen.
- Lisätty getStreamingAppMaxDownlinkKbps- ja getStreamingAppMaxUplinkKbps-metodit tietoliikennekanavan suurimman kaistanleveyden määrittämiseksi suoratoiston laatutason valitsemiseksi.
- Laitevalmistajille on tarjottu API kameralaajennusten luomiseksi, jotka mahdollistavat sovelluskohtaisia ominaisuuksia, kuten Super Resolution -yksityiskohtien parannusmoottorin, kohinanvaimennustilat ja tekoälyn laadun optimoijat.
- Lisätty API kameran tyypin (sisäänrakennettu kamera, USB-verkkokamera tai virtuaalikamera) tietojen hakemiseen.
- Tuki kuulolaitteille, jotka on yhdistetty Bluetooth Low Energy (BLE) -yhteydellä, on lisätty. Nämä laitteet luokitellaan nyt uuteen TYPE_BLE_HEARING_AID-luokkaan, jonka avulla sovellukset voivat erottaa kuulolaitteet ja kuulokkeet toisistaan ja hallita järjestelmän äänen toistoa erikseen (voit esimerkiksi toistaa ilmoituksia, soittoääniä ja hälytyksiä puhelimesi sisäänrakennetusta kaiuttimesta kuulolaitteen sijaan).
- Fyysisellä näppäimistöllä ja kosketusnäytöllä näytettyjen salasanojen näyttämiseen on lisätty erilliset asetukset. Oletusarvoisesti fyysisellä näppäimistöllä näytettyjen salasanamerkkien näyttäminen piilotetaan välittömästi.
- Sovelluswidgetien näyttöä ulkoisilla näytöillä on parannettu ottamalla huomioon DPI-erot skaalauksessa.
- Lisätty ACTION_VPN_APP_EXCLUSION_SETTINGS-pyyntö, jolla voidaan avata järjestelmänäyttö asetuksilla, jotka sallivat sovelluksen käyttää verkkoa VPN-tunnelin ohittaen.
- Lisätty tuki OpenJDK 25 -kieliominaisuuksille ja Java-luokille.
- Kameran API-ominaisuuksia on laajennettu. CameraCaptureSession-objektiin on lisätty updateOutputConfigurations()-metodi, jonka avulla lähtöalueita voidaan liittää tai irrottaa lennossa ilman, että koko kameran kuvausistuntoa tarvitsee konfiguroida uudelleen. Tämä muutos mahdollistaa saumattoman vaihtamisen eri kameratilojen välillä (esimerkiksi videotallennus ja valokuvaus). Työskenneltäessä useiden fyysisten antureiden kanssa käytettävien loogisten kameroiden kanssa on lisätty mahdollisuus hakea metatietoja jokaisesta anturista, ei vain ensisijaisesta.
- android:usesCleartextTraffic-attribuutti, joka salli sovellusten lähettää salaamatonta liikennettä, kuten "http://"-pyyntöjä, on vanhentunut. Jos salaamatonta liikennettä tarvitaan, tulee käyttää erillisiä suojausmääritystiedostoja.
- Lisätty asetuksia VoIP-puheluhistorian hallintaan, joiden avulla voit hallita, tallennetaanko tiedot lokeihin ja näytetäänkö suoritettujen puheluiden tiedot käyttöliittymässä.
- Wi-Fi RTT (Round-Trip-Time) -rajapintaa on laajennettu tarjoamaan jatkuvaa etäisyyden arviointia tukiasemiin ja suojattua vertaisverkkojen tunnistusta.
- CompanionDeviceManageriin on lisätty uusia profiileja käyttöoikeuksien pyytämistä ja sovellusten vuorovaikutuksen mahdollistamista lääkinnällisten laitteiden ja fitness-seurantalaitteiden kanssa.
- В Android Runtime (ART) toteuttaa sukupolvien välisen roskankeräimen (Generational Concurrent Mark-Compact Garbage Collector), joka erottaa "vanhojen" ja "nuorten" objektien käsittelyn, mikä parantaa äskettäin luotujen ja lyhytikäisten objektien siivouksen tehokkuutta. Sukupolvien välisen roskankeräimen käyttö vähentää resurssien allokoinnin aikana tapahtuvien katkosten riskiä ja vähentää suorittimen kuormitusta, mikä parantaa energiatehokkuutta.
- Реализовано ограничение на максимальный объём оперативной памяти, которое может занимать приложение. При превышении лимита, вычисляемого на основе имеющегося в устройстве ОЗУ, приложение принудительно завершается. Для сокращения размера потребляемой памяти предложен 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%.
- Esitetään uusi android.os.MessageQueue-viestijonon toteutus, joka toimii ilman lukituksia. Tämä uusi toteutus parantaa suorituskykyä ja vähentää kehysten menetystä.
- Tukihakemukset Android 17-versiossa ja uudemmissa versioissa "static final" -merkittyjen kenttien arvojen muuttaminen on kielletty, mikä mahdollistaa aggressiivisempien suorituskyvyn optimointien käyttöönoton suorituksen aikana.
- Muistin kulutuksen vähentämiseksi mukautettujen ilmoitusnäkymien asettelujen kokoa on rajoitettu.
- ProfilingManager-profiloijaan on lisätty TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM ja TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE -käynnistimiä, jotka keräävät hyödyllistä tietoa suorituskykyongelmien vianmäärityksessä.
Lähde: opennet.ru












