Google zverejnil vydanie otvorenej mobilnej platformy Android 14. Zdrojové texty súvisiace s novým vydaním sú zverejnené v Git repozitári projektu (pobočka android-14.0.0_r1). Pre zariadenia série Pixel sú pripravené aktualizácie firmvéru. Neskôr sa plánuje príprava aktualizácií firmvéru pre smartfóny vyrábané spoločnosťami Samsung Galaxy, iQOO, Nothing, OnePlus, Oppo, Realme, Sharp, Sony, Tecno, vivo a Xiaomi. Okrem toho boli vytvorené univerzálne zostavy GSI (Generic System Images), vhodné pre rôzne zariadenia založené na architektúrach ARM64 a x86_64.
Hlavné inovácie:
- Základná platforma zahŕňa úložisko Health Connect, ktoré bolo predtým dostupné ako samostatný balík prostredníctvom služby Google Play. Health Connect poskytuje centralizované ukladanie údajov z fitness náramkov a iných zariadení súvisiacich so zdravím používateľa a organizuje spoločný prístup k údajom o zdraví medzi rôznymi aplikáciami. Prístup k nastaveniam Health Connect bude teraz poskytovaný prostredníctvom štandardného konfigurátora platformy, napríklad prostredníctvom nastavení ochrany osobných údajov môžete ovládať, ku ktorým zdravotným údajom majú prístup určité aplikácie. Health Connect navyše pridal podporu pre ukladanie informácií o prejdenej trase počas tréningu (používateľ si určí časové obdobie, na ktoré sa bude zoznam trasových bodov ukladať). Trasu je možné vizualizovať na mape a voliteľne odovzdať na spracovanie iným aplikáciám po výslovnom potvrdení operácie používateľom.

- Prostriedky na potvrdenie prístupu k informáciám o polohe boli rozšírené. Do dialógového okna bola pridaná nová sekcia požadujúca potvrdenie prístupu k polohe s informáciami o tom, kedy sa údaje o polohe prenesú do aplikácie (prístup je odmietnutý, povolený len raz a povolený pri každom spustení aplikácie) a podrobnosti, kde môžete získať ďalšie informácie o prístupe k prenášaným údajom .

- Implementované pravidelné (raz mesačne) zobrazovanie upozornení upozorňujúcich na zmeny aplikácií, ktorým je udelený prístup k polohe, spôsoby prenosu údajov tretím stranám (zobrazuje sa napríklad, keď aplikácia začne využívať údaje o polohe pri zobrazovaní reklamy).

- Pri práci s aplikáciami bola implementovaná výraznejšia nápoveda šípky späť, ktorá uľahčuje pochopenie možnosti použitia gesta na obrazovke na návrat späť.

- Mechanizmus Sharesheet, ktorý sa používa na odosielanie údajov (ako je obrázok alebo odkaz) mimo aplikácie alebo inému používateľovi, má možnosť pridávať vlastné akcie. Môžete napríklad definovať svoj vlastný zoznam obslužných nástrojov ChooserAction, ktoré zobrazujú aplikácie a používateľov, ktorým možno odosielať správy. Okrem toho sa rozšíril rozsah signálov používaných na určenie vzdialenosti cieľov na priame odosielanie údajov.

- Je možné čiastočne udeliť povolenia na prístup iba k fotografiám a videám vybratým používateľom (READ_MEDIA_VISUAL_USER_SELECTED, súbory, ku ktorým je udelený prístup, vyberie používateľ prostredníctvom rozhrania výberu fotografií, keď sa zobrazí dialógové okno so žiadosťou o povolenia). Akonáhle je aplikácia umiestnená na pozadí alebo je program ukončený, užívateľom udelené oprávnenie sa automaticky zruší. V dialógovom okne pre potvrdenie prístupových oprávnení aplikácie k multimediálnym súborom je po novom možné poskytnúť prístup len k vybraným fotografiám alebo videám.

- Do konfigurátora bola pridaná sekcia na prepísanie regionálnych preferencií, ako sú jednotky teploty, prvý deň v týždni a číselný systém. Napríklad Európan žijúci v Spojených štátoch môže nastaviť zobrazovanie teploty v stupňoch Celzia namiesto Fahrenheita a považovať pondelok za začiatok týždňa namiesto nedele.

- Možnosti zmeny mierky písma boli rozšírené, maximálna úroveň mierky písma sa zvýšila zo 130 % na 200 % a aby sa zabezpečilo, že text pri veľkom zväčšení nebude vyzerať príliš veľký, teraz sa automaticky použije nelineárna zmena úrovne mierky ( veľký text sa nezväčšuje tak ako malý text), čo umožní optimálnu čitateľnosť textu pre slabozrakých bez rizika skreslenia rozloženia rozhrania.

- Podpora nahrávania videa s vysokým dynamickým rozsahom (HDR), ktorá sa objavila v predchádzajúcom vlákne, bola rozšírená o možnosť získavania dodatočných informácií z fotoaparátu, vďaka čomu je možné ukladať snímky vo formáte „Ultra HDR“, ktorý využíva 10 bitov na kanál pre farebné kódovanie. Formát Ultra HDR je plne kompatibilný s JPEG, čo umožňuje aplikáciám pracovať s obrazmi HDR bez úprav a v prípade potreby ich zobrazovať v normálnom rozsahu jasu. Výstup HDR povolí platforma automaticky, keď je v manifeste aplikácie povolená podpora HDR alebo keď sa volá Window.setColorMode. Pre samostatné vykresľovanie Ultra HDR pomocou OpenGL alebo Vulkan je možné použiť triedu Gainmap.

- Typy aplikácií, ktoré môžu zobrazovať upozornenia na celú obrazovku, keď je obrazovka uzamknutá, sú obmedzené. Tieto upozornenia sú navrhnuté tak, aby upozornili na informácie, ktoré si vyžadujú okamžitú akciu, ako je prichádzajúci hovor alebo alarm, takže možnosť zobrazenia takýchto upozornení bude teraz obmedzená na aplikácie na volanie a upozornenia.
- Vylepšené ovládanie animácie, ktorá signalizuje prechod medzi rôznymi obrazovkami (hárkami) v aplikácii pri použití posuvného gesta posúvajúceho obsah. Pribudli nové komponenty na oživenie prepínania spodnej a bočnej obrazovky, ako aj vyvolanie vyhľadávania. Pridané API na vytváranie vlastných prechodových efektov v aplikácii.
- Súprava Camera Extensions bola aktualizovaná, aby poskytovala možnosť používať dlhšie trvajúce algoritmy, ktoré vyžadujú výpočtovo náročné spracovanie obrazu, ako napríklad zlepšenie kvality obrázkov pri slabom osvetlení. Pridané funkcie na predpovedanie oneskorenia spracovania obrazu, získanie informácií o priebehu spracovania a rýchle získanie hrubej verzie obrazu pred dokončením konečného obrazu. Implementovaný optimalizovanejší a energeticky efektívnejší režim náhľadu SurfaceView. Pri používaní rozšírení je k dispozícii dotyková podpora na zaostrenie a priblíženie.
- Poskytuje sa podpora pre používanie vstavaných možností zmeny mierky a orezania fotoaparátu pre prenesené obrázky RAW.
- Pre káblové slúchadlá pripojené cez USB pribudla možnosť využívať zvukové formáty bez straty kvality (bezstratové). Do API bola pridaná trieda AudioMixerAttributes, ktorá vám umožňuje priamo posielať zvuk do zariadenia bez mixovania, úpravy hlasitosti alebo spracovania efektov.
- Grafické API implementuje triedu Mesh, ktorá vám umožňuje vytvárať vlastné varianty polygonálnej siete s vertexovými a fragmentovými shadermi napísanými v jazyku AGSL.
- Pridaná schopnosť hardvérovo zrýchliť vykresľovanie do vyrovnávacej pamäte, implementovaná prostredníctvom triedy HardwareBufferRenderer.
- Trieda Path, ktorá vám umožňuje vytvárať vektorovú grafiku založenú na zložených geometrických cestách, bola pridaná na podporu interpolácie medzi cestami s podobnou štruktúrou na vytvorenie efektu morfovania a použitie PathIterator na sekvenčné iterovanie cez všetky segmenty cesty.
- Rozšírená možnosť spájania jednotlivých nastavení jazyka s rôznymi aplikáciami. Poskytuje možnosť definovať zoznam jazykov, ktoré sa zobrazia v konfigurátore Androidu pri výbere jazyka pre konkrétnu aplikáciu.
- Rozšírené oblasti, v ktorých systém zobrazuje informácie súvisiace s ochranou súkromia definované vývojárom vo formulári Play Console, ako sú napríklad pravidlá týkajúce sa zdieľania údajov s tretími stranami. Takéto informácie sa teraz napríklad zobrazujú v dialógovom okne žiadosti o povolenia.
- Aplikácie, ktoré používajú obslužné programy na pozadí, sú teraz povinné určiť typ služby na pozadí. Počas prevádzky systém kontroluje súlad zadaného typu služby, požadovaných oprávnení a použitého API. Napríklad, ak aplikácia špecifikuje typ služby na pozadí FOREGROUND_SERVICE_TYPE_LOCATION, znamená to, že môže požiadať o povolenia ACCESS_COARSE_LOCATION alebo ACCESS_FINE_LOCATION.
- Boli vykonané zmeny na zlepšenie zabezpečenia: Aplikáciám je zakázané odosielať požiadavky na zámery niektorým interným komponentom platformy. Dynamicky načítaný kód by mal byť teraz označený atribútom prístupu iba na čítanie. Funkcie ZipFile(String) a ZipInputStream.getNextEntry() neumožňujú spracovanie archívov zip, ktorých cesty začínajú znakom „/“ alebo obsahujú sekvenciu „..“. Spustenie práce z obslužných programov na pozadí bolo obmedzené a boli aktualizované obmedzenia v oblasti volania programových rozhraní, ktoré nie sú k dispozícii v súprave SDK.
- Pri pripájaní zariadenia cez USB k stolnému počítaču bolo okrem predtým dostupných režimov interakcie, ako je prenos súborov, nabíjanie, nástup atď., možné používať smartfón ako webovú kameru (režim UVC, trieda USB Video) . V predvolenom nastavení je táto funkcia zakázaná, ale možno ju aktivovať, ak máte root prístup.
- Pokračovali sme v zlepšovaní výkonu platformy na tabletoch a zariadeniach so skladacími obrazovkami. Knižnice slúžia na predpovedanie udalostí spojených s pohybom ukazovateľa a poskytujú nízku latenciu pri práci so stylusom. K dispozícii sú šablóny rozhrania pre veľké obrazovky, aby vyhovovali používaniu, ako sú sociálne siete, komunikácia, multimediálny obsah, čítanie a nakupovanie.
- Pridané samostatné povolenie, ktoré umožňuje aplikáciám spúšťať akcie, keď je aplikácia na pozadí. Aktivácia na pozadí je obmedzená, aby nerozptyľovala používateľa pri práci s aktuálnou aplikáciou. Aktívne aplikácie majú väčšiu kontrolu nad aktiváciou akcií inými aplikáciami, s ktorými interagujú.
- Systém správy pamäte bol optimalizovaný na efektívnejšie prideľovanie zdrojov aplikáciám bežiacim na pozadí. Niekoľko sekúnd po umiestnení aplikácie do stavu vyrovnávacej pamäte sa práca na pozadí obmedzuje na rozhrania API, ktoré riadia životný cyklus aplikácie, ako napríklad rozhranie API Foreground Services, JobScheduler a WorkManager.
- Upozornenia označené príznakom FLAG_ONGOING_EVENT možno teraz odmietnuť, keď sa zobrazia na odomknutom zariadení. Ak je vaše zariadenie v režime uzamknutej obrazovky, tieto upozornenia zostanú nezrušené. Upozornenia, ktoré sú dôležité pre fungovanie systému, tiež zostanú nezrušené.
- Do API PackageInstaller boli pridané nové metódy: requestUserPreapproval(), ktorá umožňuje adresáru aplikácie odložiť sťahovanie balíčkov APK, kým nedostane potvrdenie o inštalácii od používateľa; setRequestUpdateOwnership(), ktorá vám umožňuje priradiť budúce operácie aktualizácie aplikácie inštalačnému programu; setDontKillApp(), ktorý umožňuje nastaviť dodatočné schopnosti pre aplikáciu počas práce s programom. InstallConstraints API dáva inštalátorom možnosť spustiť inštaláciu aktualizácie aplikácie, keď sa aplikácia nepoužíva.
- Pokračovali práce na zlepšení výkonu platformy na tabletoch a zariadeniach so skladacími obrazovkami. Aktualizované pokyny pre navrhovanie aplikácií pre zariadenia s veľkou obrazovkou a pridané všeobecné šablóny používateľského rozhrania s veľkou obrazovkou pre aplikácie, ako sú sociálne siete, komunikácia, multimédiá, čítanie a nakupovanie. Navrhuje sa predbežné vydanie súpravy Cross Device SDK s nástrojmi na vývoj aplikácií, ktoré správne fungujú s rôznymi typmi zariadení (smartfóny, tablety, inteligentné televízory atď.) a rôznymi formami.
- Bola optimalizovaná koordinácia prác na pozadí náročných na zdroje, ako je sťahovanie veľkých súborov pri pripojení Wi-Fi. Boli vykonané zmeny v API pre spúšťanie prioritných služieb (Foreground Service) a plánovacích úloh (JobScheduler), ktoré pridali novú funkčnosť pre užívateľom spúšťané úlohy súvisiace s prenosom údajov. Boli zavedené požiadavky na označenie typu prioritných služieb, ktoré sa majú spustiť (práca s kamerou, synchronizácia údajov, prehrávanie multimediálnych údajov, sledovanie polohy, prístup k mikrofónu atď.). Jednoduchšie je definovať podmienky pre aktiváciu sťahovania dát, napríklad sťahovanie len pri prístupe cez Wi-Fi.
- Interný systém na doručovanie vysielaných správ do aplikácií (vysielací systém) je optimalizovaný na zníženie spotreby energie a zlepšenie odozvy. Vylepšené akceptovanie registrovaných tokov správ aplikáciami – správy môžu byť zaradené do frontu, kombinované (napríklad séria správ BATTERY_CHANGED bude agregovaná do jednej) a doručené až potom, čo aplikácia opustí stav vyrovnávacej pamäte.
- Zvýšil sa limit na maximálny počet aplikácií uložených vo vyrovnávacej pamäti, čím sa znížil počet aplikácií spúšťaných v „studenom“ režime (t. j. nie sú uložené vo vyrovnávacej pamäti a spúšťajú sa pomalšie). V prípade zariadení s 8 GB pamäte RAM sa po zmene obmedzení počet spustení „studených“ aplikácií znížil o 20 % a pri 12 GB o 30 %.
- Použitie funkcie vykonávania operácií v presnom čase (presné alarmy) v aplikáciách si teraz vyžaduje získanie samostatného povolenia SCHEDULE_EXACT_ALARM, pretože používanie tejto funkcie môže negatívne ovplyvniť výdrž batérie a viesť k zvýšenej spotrebe zdrojov (pri plánovaných úlohách je odporúča sa použiť aktiváciu v približnom čase). Implementácie kalendára a hodín, ktoré používajú aktiváciu presného času, musia mať pri inštalácii privilégium USE_EXACT_ALARM. Zverejňovanie aplikácií s povolením USE_EXACT_ALARM do adresára Google Play je povolené iba pre aplikácie, ktoré implementujú budík, časovač a kalendár s upozorneniami na udalosti.
- Poskytuje možnosť špecifikovať nastavenia jazyka viazané na jednotlivé aplikácie. Vývojár aplikácie môže teraz zmeniť nastavenia localeConfig volaním LocaleManager.setOverrideLocaleConfig, aby určil zoznam jazykov zobrazených pre aplikáciu v konfiguračnom rozhraní systému Android.
- Pridané rozhranie Grammatical Inflection API na uľahčenie pridávania prekladov prvkov rozhrania, ktoré zohľadňujú jazyky s rodovým systémom.
- Aby sa zabránilo škodlivým aplikáciám zachytávať žiadosti o zámery, nová verzia zakazuje odosielanie zámerov bez explicitného určenia balíka alebo interného komponentu.
- Vylepšená bezpečnosť dynamického načítania kódu (DCL, Dynamic Code Loading) – aby sa predišlo nahradeniu škodlivého kódu v dynamicky načítaných spustiteľných súboroch, tieto súbory musia mať teraz prístupové práva len na čítanie.
- Je zakázané inštalovať aplikácie, ktorých deklarovaná verzia SDK je nižšia ako 23, čo bude blokovať obchádzanie obmedzení povolení cez väzbu na staré API (API verzia 22 je zakázaná, keďže verzia 23 (Android 6.0) má nový model riadenia prístupu ktorý vám umožňuje požiadať o prístup k systémovým prostriedkom). Predtým nainštalované aplikácie, ktoré používajú staré API, budú fungovať aj po aktualizácii systému Android.
- Navrhnuté bolo rozhranie Credential Manager API, ktoré vám umožňuje organizovať prihlásenie do aplikácií pomocou poverení externých poskytovateľov autentifikácie. Bola implementovaná podpora technológie Passkeys, ktorá umožňuje používateľovi autentifikáciu bez hesla pomocou biometrických identifikátorov, ako je odtlačok prsta alebo rozpoznávanie tváre. Vylepšené rozhranie na výber účtu.
- Android Runtime (ART) teraz podporuje OpenJDK 17. Základné knižnice Java platformy a nástroje na vývoj aplikácií boli aktualizované na OpenJDK 17. Pridaná podpora jazykových funkcií a tried Java dostupných v OpenJDK 17, ako sú triedy záznamov, viacriadkové reťazce a vzory párovanie v operátore "instanceof".
- Android Runtime používa pokročilejšie metódy kompresie, ktoré znižujú veľkosť súborov v priemere o 9.3 % bez obetovania výkonu.
- Spôsob aktualizácie certifikátov certifikačnej autority (CA) bol zmenený. Systémové certifikáty už nebudú viazané na firmvér, ale budú doručené ako samostatný balík, aktualizovaný cez Google Play. Tento prístup uľahčí udržiavanie aktuálnych certifikátov a odstraňovanie certifikátov od napadnutých certifikačných autorít a tiež zabráni výrobcom zariadení manipulovať so zoznamom koreňových certifikátov a proces ich aktualizácie bude nezávislý od aktualizácií firmvéru. Na druhej strane nový spôsob doručovania používateľovi neumožní vykonávať zmeny v systémových certifikátoch, aj keď má root prístup do systému a má plnú kontrolu nad firmvérom.
Zdroj: opennet.ru









