Google avaldas avatud mobiilse platvormi Android 14. Uue versiooniga seotud lÀhtekoodid on paigutatud projekti Git-repositooriumisse (haru android-14.0.0_r1). Tarkvarauuendused on ette valmistatud Pixel seeria seadmete jaoks. Hiljem on plaanis valmistada tarkvarauuendusi Samsung Galaxy, iQOO, Nothing, OnePlus, Oppo, Realme, Sharp, Sony, Tecno, vivo ja Xiaomi nutitelefonide jaoks. Lisaks on loodud universaalsed GSI (Generic System Images) kogud, mis sobivad erinevatele seadmetele, mis pÔhinevad ARM64 ja x86_64 arhitektuuridel.
Peamised uuendused:
- Platvormi pĂ”hikoosseisu on lisatud Health Connect salvestus, mis varem pakuti eraldi paketina Google Play kaudu. Health Connect tagab keskse andmete salvestamise kasutaja tervise ja fitnessi seadmete kohta ning korraldab erinevate rakenduste jagatud juurdepÀÀsu terviseandmetele. Juuresolek Health Connect seadistustes annab nĂŒĂŒd vĂ”imaluse hallata, millised rakendused vĂ”ivad juurdepÀÀsu terviseandmetele saada, nĂ€iteks privaatsusseadete kaudu. Lisaks on Health Connect lisatud tugi treeningu kĂ€igus lĂ€bitud marsruudi salvestamiseks (kasutaja mÀÀrab ajavahemiku, mille jooksul jÀÀdvustatakse maamĂ€rkide loend). Marsruuti saab visualiseerida kaardil ja soovi korral edastada teistele rakendustele pĂ€rast kasutaja ekspressset kinnitust.

- Laiendatud on juurdepÀÀsu kinnitamise meetodeid asukoha teabele. Asukoha juurdepÀÀsu kinnitamise taotlusele on lisatud uus osa, mis sisaldab teavet, millal rakendus edastab asukohaandmeid (juurdepÀÀs on keelatud, lubada ainult ĂŒks kord ja lubada igal rakenduse tĂ€itmisel) ja ĂŒksikasju, kus on saadaval tĂ€iendavad andmed edastatavate andmete juurdepÀÀsu kohta.

- Rakendatud on regulaarne (kord kuus) teavituste vÀljastamine, mis hoiatab asukohaandmete juurdepÀÀsu saavate rakenduste, meetodite muutmise kohta kolmandatele isikutele edastamisel (nÀiteks teavitatakse, kui rakendus hakkab kasutama asukohaandmeid reklaami kuvamisel).

- Rakenduste kasutamisel on vĂ€lja töötatud silmatorkavam tagasiviimise nupp, mis aitab mĂ”ista ekraanikeeramise ĆŸesti rakendamist tagasi minemiseks.

- Sharesheeti mehhanismis, mida kasutatakse andmete (nÀiteks piltide vÔi linkide) saatmiseks vÀljaspool rakendust vÔi teisele kasutajale, on rakendatud vÔimalus lisada oma tegevusi. NÀiteks saab mÀÀrata oma ChooserAction töötlejate nimekirja, mis kuvab rakendusi ja kasutajaid, kellele andmeid saata saab. Samuti on laiendatud signaalide valikut, mida kasutatakse sihtkohtade jÀrjestamiseks andmete otse saatmiseks.

- Kasutajatele on antud vĂ”imalus osaliselt anda Ă”igusi juurdepÀÀsuks ainult valitud fotodele ja videotele (READ_MEDIA_VISUAL_USER_SELECTED, failid, millele antakse juurdepÀÀs, valib kasutaja Photo picker liidese kaudu volituste nĂ”udmise dialoogis). PĂ€rast rakenduse taustale viimist vĂ”i programmi sulgemist tagastatakse antud kasutaja Ă”igused automaatselt. Rakenduste juurdepÀÀsu kinnitamise dialoogis multimeediafailidele on nĂŒĂŒd vĂ”imalik anda juurdepÀÀs ainult valitud fotodele vĂ”i videotele.

- Konfiguratsioonis on lisatud piirkondlike eelistuste seadete ĂŒlekirjutamise sektsioon, nĂ€iteks temperatuuri mÔÔtĂŒhikud, nĂ€dala esimene pĂ€ev ja arvutusmeetod. NĂ€iteks Ameerikas elav eurooplane saab seadistada temperatuuride kuvamiseks Celsiuse kraadi, mitte Fahrenheiti ja lugeda esmaspĂ€eva nĂ€dalal esimeseks pĂ€evaks, mitte pĂŒhapĂ€eva.

- Suurendatud fontide skaleerimise vĂ”imalusi, maksimaalne fontide skaleerimisaste on tĂ”stetud 130%-lt 200%-le ning et tekst suure suurendamise korral ei nĂ€eks liiga suur vĂ€lja, rakendatakse nĂŒĂŒd automaatselt mittelineaarset skaleerimist (suurendatakse vĂ€hem juba suurt teksti kui vĂ€ikest), mis vĂ”imaldab saavutada optimaalse loetavuse nĂ”rgema nĂ€gemisega inimeste jaoks ilma, et tekiks moonutusi liidese paigutuses.

- Eelmise versiooniga ilmnenud tuge kĂ”rge dĂŒnaamilise helivaljuse (HDR) salvestamiseks on tĂ€iendatud kaamerast saadava lisainfo osas, mis vĂ”imaldab salvestada pilte 'Ultra HDR' formaadis, kus vĂ€rvi kodeerimiseks kasutatakse 10 bitti kanal. Ultra HDR formaat on tĂ€ielikult ĂŒhilduv JPEG-iga, mis vĂ”imaldab rakendustel töötada HDR-piltidega ilma muudatusteta ning vajadusel kuvada neid tavalise helivaljuse vahemikus. HDR-tilde töötlemine toimub automaatselt platvormi kaudu, kui HDR-i tugi on aktiveeritud rakenduse manifestis vĂ”i Window.setColorMode'i kutsumisel. Erakordse Ultra HDR joonistamiseks OpenGL-i vĂ”i Vulkaniga vĂ”ib kasutada klassi Gainmap.

- Rakenduste tĂŒĂŒbid, kellel on lubatud ekraaniluku blokeerimise ajal tĂ€isekraansete teavituste edastamine, on piiratud. Sellised teavitused on mĂ”eldud tĂ€helepanu juhtimiseks teabele, mis vajab kohest reageerimist, nĂ€iteks siseneva kĂ”ne vĂ”i Ă€ratuse toimumise korral, seega on selliste teavituste edastamise Ă”igused nĂŒĂŒd piiratud kĂ”nede tegemise ja hĂ€irete edastamise rakendustega.
- Parandatud on animatsiooni juhtimist, mis nĂ€itab ĂŒleminekut rakenduse erinevate ekraanide (lehtede) vahel libistamise ĆŸesti abil, mis nihutab sisu. Lisatud on uusi komponente alumiste ja kĂŒlgsuunaliste ekraanide ĂŒlemineku animatsiooniks, samuti otsingu vĂ€ljakutseks. Lisatud on API, mis vĂ”imaldab luua kohandatud ĂŒleminekuefekte rakenduses.
- Kaamera laienduste komplekti (Camera Extensions) on uuendatud, et vĂ”imaldada pikema aja vĂ”tvate algoritmide kasutamist, mis nĂ”uavad intensiivseid arvutusi piltide töötlemiseks, nĂ€iteks madala valgustuse korral tehtud piltide kvaliteedi parandamiseks. Lisatud on funktsioonid viivituste prognoosimiseks pildi töötlemisel, töötlemise edenemise teabe saamiseks ja mustandpildi kiireks saamiseks enne lĂ”pliku pildi ettevalmistamise lĂ”petamist. Rakendatud on optimeeritud ja energiaefektiivne SurfaceView eelvaate reĆŸiim. Laienduste kasutamise ajal on tagatud puutetundlik toimetamine fookuse suunamiseks ja suurendamiseks.
- Toe on lisatud kaamera sisseehitatud suurendamise ja kaadri kÀrpimise vÔimekuse kasutamiseks edastatavate RAW-piltide puhul.
- USB kaudu ĂŒhendatavate juhtmega kĂ”rvaklappide jaoks on lisatud vĂ”imalus rakendada kadudeta heliformaate (lossless). API-sse on lisatud klass AudioMixerAttributes, mis vĂ”imaldab otse edastada heli seadmesse, ilma jahutamiseta, helitugevuse kohandamata ja efektide töötlemiseta.
- Graafilises API-s on rakendatud klass Mesh, mis vĂ”imaldab luua oma versioone polĂŒgoonilisest vĂ”rgust koos tippude ja fragmentide shĂ€idritega, mis on kirjutatud AGSL keeles.
- Lisatud on vÔimalus riistvaraaktseleritud renderdamiseks puhvris, rakendatud klassi HardwareBufferRenderer kaudu.
- Klassi Path, mis vÔimaldab luua vektorgraafikat kokku pandud geomeetriliste kontuuride pÔhjal, on lisatud tugi kontuuride vaheliste interpolatsioonide tegemiseks sarnase struktuuriga, et luua morfinguefekti ning kasutada PathIteratorit, et jÀrjestikku lÀbida kÔik kontuuri segmendid.
- Laiendatud on vÔimalusi erikeelsete seadete sidumiseks erinevatele rakendustele. Pakutakse vÔimalust mÀÀrata keelte nimekiri, mis kuvatakse Androidi seadistustes konkreetse rakenduse keele valimisel.
- Laienesid valdkonnad, kus sĂŒsteem kuvab loojate mÀÀratud kaitseandmete teavet Play Console'i vormis, nagu kolmandatele osapooltele andmete jagamise poliitika. NĂ€iteks kuvatakse sellised andmed nĂŒĂŒd volituste taotlemise dialoogis.
- Rakendustes, kus kasutatakse taustateenuseid, on nĂŒĂŒd kohustuslik mÀÀrata taustateenuse tĂŒĂŒp. SĂŒsteem kontrollib töö ajal mÀÀratud teenuse tĂŒĂŒbi, taotletud volituste ja kasutatava API vastavust. NĂ€iteks kui rakendus on mÀÀranud taustateenuse tĂŒĂŒbiks FOREGROUND_SERVICE_TYPE_LOCATION, oletatakse, et sellele vĂ”ivad olla taotletud volitused ACCESS_COARSE_LOCATION vĂ”i ACCESS_FINE_LOCATION.
- Turvalisuse suurendamiseks on tehtud muudatusi: rakendustel on keelatud teha teatud sisemistele platvormikomponentidele intent-toimingute pĂ€ringuid. DĂŒnaamiliselt laaditav kood peab nĂŒĂŒd olema mĂ€rgistatud ainult lugemisĂ”igusega atribuudi abil. ZipFile(String) ja ZipInputStream.getNextEntry() funktsioonides on keelatud töötlemine zip-arhiividega, mille teed algavad sĂŒmbolist "\/" vĂ”i sisaldavad jĂ€rjestust "..". Taustateenuste töö kĂ€ivitamise vĂ”imalus on piiratud ning on uuendatud piirangud API-dele, mis pole SDK-s saadaval.
- USB kaudu lauaarvutiga ĂŒhendatud seadme puhul on nĂŒĂŒd varasemate interaktsioonireĆŸiimide, nagu failide edastamine, laadimine, interneti jagamine jne, kĂ”rval vĂ”imalik kasutada nutitelefoni veebikaamerana (UVC reĆŸiim, USB Video Class). Vaikimisi on see funktsioon vĂ€lja lĂŒlitatud, kuid seda saab aktiveerida, kui on olemas root-juurdepÀÀs.
- Platvormi töö paranemist jĂ€tkatakse tahvelarvutites ja volditavate ekraanidega seadmetes. Pakutakse raamatukogusid, mis vĂ”imaldavad ennustada hiirekursori liikumisega seotud sĂŒndmusi ning tagavad madala latentsuse stylus-idega töötamisel. Suure ekraani rakenduste jaoks on saadaval liidese ŃĐ°Đ±Đ»ĐŸĐœŃ, mis arvestavad selliseid rakendusi nagu sotsiaalmeedia, suhtlemine, multimeedia sisu, lugemine ja ostmine.
- Lisatud on eraldi volitus, mis vÔimaldab rakendustel teostada tegevusi, kui rakendus on taustal. Taustal olemisel on aktiveerimine piiratud, et mitte kasutajat praeguse rakendusega töötamise ajal hÀirida. Aktiivsetele rakendustele on antud rohkem vÔimalusi kontrollida teiste rakenduste tegevuste aktiveerimist, millega nad suhtlevad.
- MĂ€luhalduse sĂŒsteemi optimeerimine on viidud lĂ€bi, et jaotada rakendustele ressursse efektiivsemalt, kui need töötavad taustal. MĂ”ni sekund pĂ€rast rakenduse viimist vahemĂ€llu piiratakse taustatööd API-dega, mis juhivad rakenduse eluiga, nagu API Foreground Services, JobScheduler ja WorkManager.
- Teated, millel on lipuflag FLAG_ONGOING_EVENT, vĂ”ivad nĂŒĂŒd lukustatud ekraaniga seadmes saada tagasi lĂŒkatud. Kui seade on ekraani lukustuse reĆŸiimis, jÀÀvad sellised teated tagasi lĂŒkatuks. Tagasi lĂŒkkamatuks jÀÀvad ka teated, mis on sĂŒsteemi toimimise jaoks olulised.
- API PackageInstaller on lisatud uusi meetodeid: requestUserPreapproval(), mis vĂ”imaldab rakenduste katalooge edasilĂŒkata APK-pakettide allalaadimist kuni kasutajalt kinnituse saamiseni, setRequestUpdateOwnership(), mis vĂ”imaldab paigaldajal tagada tulevased rakenduse uuendamise toimingud, ja setDontKillApp(), mis annab rakendusele tĂ€iendavad vĂ”imalused programmiga töötamisel. API InstallConstraints kaudu on paigaldajatele antud vĂ”imalus aktiveerida rakenduse uuendamise installimist hetkel, kui rakendus ei ole kasutuses.
- Tööd on jĂ€tkatud platvormi parendamisel tahvelarvutites ja kokkuklapitavates seadmetes. Uuendatud on juhiseid rakenduste arendamiseks suurte ekraanidega seadmete jaoks ja lisatud on liidese tĂŒĂŒpmalle suurtele ekraanidele, mis arvestavad selliste rakenduste vajadustega nagu sotsiaalmeedia, suhtlemine, meedia sisu, lugemine ja ostmine. Eelretsensioon Cross device SDK-st on esitatud tööriistadega rakenduste arendamiseks, mis töötavad Ă”igesti erinevatel seadmetel (nutitelefonid, tahvelarvuti, nutitelerid jne) ja erinevates vormifaktorites.
- On optimiseeritud ressursimahukate taustatööde, nĂ€iteks suurte failide allalaadimise, koordineerimist Wi-Fi-ĂŒhenduse olemasolul. Viidud on sisse muudatused prioriteetsete teenuste (Foreground Service) ja ĂŒlesannete planeerimise (JobScheduler) API-s, kuhu on lisatud uus funktsionaalsus kasutaja algatatud andmeedastuse tööde jaoks. Sisse on viidud nĂ”uded prioriteetsete teenuste kĂ€ivitamise tĂŒĂŒbi nĂ€itamiseks (nt kaamera kasutamine, andmete sĂŒnkroonimine, meediaedastamine, asukoha jĂ€lgimine, mikrofonile juurdepÀÀs jne). Andmete allalaadimise aktiveerimise tingimuste mÀÀramine on lihtsustatud, nĂ€iteks allalaadimine ainult Wi-Fi-ĂŒhenduse olemasolul.
- Rakenduste sisene laialdaste sĂ”numite edastamise sĂŒsteem (broadcast system) on optimeeritud, et vĂ€hendada energiatarvet ja parandada reageerimisvĂ”imet. Parandatud on registreeritud sĂ”numivoolude vastuvĂ”tmist rakendustes â sĂ”numid saavad olla jĂ€rjekorras, liituda (nĂ€iteks BATTERY_CHANGED sĂ”numite seeria koondatakse ĂŒhte) ja edastatakse ainult pĂ€rast rakenduse vĂ€ljaviimist vahemĂ€llu salvestatud olekust.
- Suurendatud on maksimaalsete vahemĂ€lus hoitavate rakenduste arvu piiri, mis on vĂ”imaldanud vĂ€hendada âkĂŒlmaâ reĆŸiimis kĂ€ivitatavate rakenduste arvu (st mitte vahemĂ€lus hoitavad ja aeglasemalt kĂ€ivitatavad). 8 GB RAM-iga seadmete puhul on piiride muutmise tĂ”ttu âkĂŒlmadeâ kĂ€ivituste arv vĂ€henenud 20% vĂ”rra ning 12 GB puhul 30% vĂ”rra.
- Rakendustes tĂ€pse aja toimingute teostamise funktsiooni (exact alarms) kasutamine nĂ”uab nĂŒĂŒd eraldi volituse SCHEDULE_EXACT_ALARM saamist, kuna selle funktsionaalsuse kasutamine vĂ”ib negatiivselt mĂ”jutada seadme akukestvust ja suurendada ressursside kasutust (aegadega kavandatud ĂŒlesannete puhul on soovitatav kasutada ligikaudset aktiveerimist). Rakendustele, kus on realiseeritud kalendri ja kella funktsioon, mis kasutavad tĂ€pse aja aktiveerimist, tuleb installimise ajal anda volitus USE_EXACT_ALARM. Google Play katalooge avaldatud rakenduste puhul, millel on USE_EXACT_ALARM luba, lubatakse vaid kellade, taimerite ja kalendrite, mis teavitavad sĂŒndmustest.
- Antud on vĂ”imalik mÀÀrata keelesĂ€tteid, mis on seotud ĂŒksikute rakendustega. Rakenduse arendaja saab nĂŒĂŒd muuta localeConfig parameetreid, kasutades LocaleManager.setOverrideLocaleConfig vĂ€ljakutset, et mÀÀrata keelte loend, mida rakenduse seadistamise liideses Androidis kuvatakse.
- Lisatud on Grammatical Inflection API, et lihtsustada tĂ”lgete lisamist liidese elementidesse, mis arvestavad sugude sĂŒsteemidega keeltes.
- Kuritegelike rakenduste intent-pĂ€ringute ĂŒlevĂ”tmise vĂ€ltimiseks on uues versioonis keelatud intent-ide saatmine ilma paketi vĂ”i sisemise komponendi selge mÀÀratlemiseta.
- DĂŒnaamilise koodi laadimise (DCL, Dynamic Code Loading) turvalisust on parendatud â kahjuliku koodi sisestamise vĂ€ltimiseks peavad nĂŒĂŒd dĂŒnaamiliselt laetavad tĂ€idesaatvad failid olema lugemisĂ”igustega.
- On keelatud rakenduste installimine, millele on mÀÀratud SDK versioon madalam kui 23, mis vĂ”imaldab blokeerida autoriseerimisse sisenemise vanade API kaudu (API versiooni 22 on keelatud, kuna versioonis 23 (Android 6.0) on loodud uus juurdepÀÀsu haldamise mudel, mis vĂ”imaldab kohapeal kĂŒsida juurdepÀÀsu sĂŒsteemiressurssidele). Varem installitud rakendused, mis kasutavad vanu API-sid, töötavad pĂ€rast Androidi uuendamist edasi.
- On pakutud Credential Manager API, mis vÔimaldab rakendustes sisse logida, kasutades vÀliste autentimise teenusepakkujate mandaate. On rakendatud Passkeys tehnoloogia toetust, mis vÔimaldab kasutajal autentimist lÀbi viia ilma paroolideta, kasutades biometrilisi identifikaatoreid, nagu sÔrmejÀljed vÔi nÀotuvastus. Parendatud on konto valimise liidese kasutajakogemust.
- Android Runtime'is (ART) on sisse viidud OpenJDK 17 toetus. Platvormi pĂ”hised Java-raamatukogud ja rakenduste arendustööriistad on uuendatud OpenJDK 17-le. On lisatud OpenJDK 17 keelefunktsioonide ja Java-klasside toetus, nĂ€iteks record-tĂŒĂŒpi klassid, mitmerealised stringid ja mustri sobitamine âinstanceofâ lauses.
- Android Runtime'is on rakendatud edasijÔudnud kokkusurumismeetodeid, mis on vÔimaldanud vÀhendada failide suurust keskmiselt 9.3% ilma jÔudluse kahjustamata.
- Muudetud on sertifikaatide uuendamise meetodid sertifitseerimiskeskustes (CA). SĂŒsteemi sertifikaadid ei ole enam seotud pĂŒsivara, vaid edastatakse eraldi paketina, mida uuendatakse Google Play kaudu. Selline lĂ€henemine lihtsustab sertifikaatide ajakohasena hoidmist ja kompromiteeritud sertifitseerimiskeskuste sertifikaatide eemaldamist, samuti ei lase seadmemaakleritel manipuleerida juureretseptide nimekirjaga ning muudab nende uuendamise protsessi sĂ”ltumatuks pĂŒsivara uuendusest. Teisest kĂŒljest ei luba uus edastusmeetod kasutajal teha muudatusi sĂŒsteemi sertifikaatides, isegi kui tal on root-juurdepÀÀs ja tĂ€ielik kontroll pĂŒsivara ĂŒle.
Allikas: opennet.ru









