Google har offentliggjort en release av den öppna mobilplattformen Android 14. KÀllkoden relaterad till den nya versionen har lagts ut i projektets Git-repo (branch android-14.0.0_r1). Firmwareuppdateringar har förberetts för Pixel-seriens enheter. Senare planeras firmwareuppdateringar för smartphones frÄn tillverkare som Samsung Galaxy, iQOO, Nothing, OnePlus, Oppo, Realme, Sharp, Sony, Tecno, vivo och Xiaomi. Dessutom har universella GSI (Generic System Images) byggts, som Àr lÀmpliga för olika enheter baserade pÄ ARM64- och x86_64-arkitekturer.
Huvudsakliga nyheter:
- I plattformens huvudkomponent ingĂ„r lagringen Health Connect, som tidigare levererades som ett separat paket via Google Play. Health Connect möjliggör central lagring av data frĂ„n fitnessarmband och andra enheter relaterade till anvĂ€ndarens hĂ€lsa, och organiserar gemensam Ă„tkomst till hĂ€lsoinformation frĂ„n olika appar. Ă
tkomst till instĂ€llningarna för Health Connect kommer nu att erbjudas via plattformens inbyggda konfigurerare; till exempel kan anvĂ€ndaren hantera vilka specifika hĂ€lsouppgifter som olika appar fĂ„r tillgĂ„ng till genom instĂ€llningarna för sekretess. Dessutom har stöd för att spara information om rutten uppnĂ„dd under trĂ€ningen lagts till Health Connect (anvĂ€ndaren anger tidsintervallet för vilket ŃпОŃĐŸĐș ŃĐŸŃĐ”Đș ska sparas). Rutten kan visualiseras pĂ„ en karta och skickas för behandling till andra appar, efter att anvĂ€ndaren har bekrĂ€ftat Ă„tgĂ€rden.

- Möjligheterna för att bekrÀfta Ätkomst till information om plats har utökats. I dialogrutan för att begÀra bekrÀftelse pÄ Ätkomst till platsinformation har en ny sektion lagts till med information om nÀr appen överför platsdata (Ätkomst förbjuden, tillÄt endast en gÄng och tillÄt vid varje app-anvÀndning) och detaljer om var man kan fÄ ytterligare information om Ätkomsten till överförda uppgifter.

- Det Àr nu implementerat en mÄnatlig utskick av meddelanden som varnar om förÀndringar av appar som har fÄtt Ätkomst till platsinformation, metoder för att överföra data till tredje part (till exempel visas det nÀr appen börjar anvÀnda platsdata vid visning av annonser).

- Vid arbete med applikationer har en mer mÀrkbar bakÄtpil-signal implementerats för att underlÀtta förstÄelsen av möjligheten att anvÀnda skÀrmgester för att gÄ tillbaka.

- I mekanismen för Sharesheet, som anvÀnds för att skicka data (t.ex. bilder eller lÀnkar) utanför applikationen eller till en annan anvÀndare, har möjligheten att lÀgga till egna ÄtgÀrder införts. Till exempel kan en egen lista över ChooserAction-handledare definieras för att visa appar och anvÀndare dit information kan skickas. Dessutom har antalet signaler som anvÀnds för att rangordna mÄl för direkt dataöverföring utökats.

- Det har nu blivit möjligt att delvis ge behörigheter för att endast komma Ät bilder och videor som valts av anvÀndaren (READ_MEDIA_VISUAL_USER_SELECTED, filer som beviljas Ätkomst vÀljs av anvÀndaren genom grÀnssnittet Photo picker nÀr dialogrutan för behörigheter visas). Efter att applikationen har satts i bakgrunden eller avslutats Äterkallas den beviljade behörigheten automatiskt. I dialogrutan för bekrÀftelse av behörigheter till applikationers Ätkomst till mediefiler har möjligheten att endast ge Ätkomst till utvalda bilder eller videor lagts till.

- En sektion för ÄterstÀllning av instÀllningar för regionala preferenser har lagts till i konfigureraren, sÄsom temperatur enheter, veckans första dag och talsystem. Till exempel kan en europé som bor i USA stÀlla in att temperaturen ska visas i grader Celsius istÀllet för Fahrenheit och betrakta mÄndag som veckans första dag istÀllet för söndag.

- Möjligheterna för teckensnittsstorleksjustering har utökats, den maximala teckensnittsstorleksjusteringen har ökat frÄn 130 % till 200 %, och för att text inte ska se för stor ut vid kraftig förstoring tillÀmpas nu automatiskt en icke-linjÀr justering av teckensnittsstorleken (redan stor text förstoras inte lika mycket som liten text), vilket möjliggör optimal lÀsbarhet för personer med nedsatt syn utan risk för förvrÀngningar i anvÀndargrÀnssnittets layout.

- Den funktion som introducerades i den föregÄende versionen för inspelning av video med hög dynamisk ljusstyrka (HDR) har utvidgats med möjligheten att fÄ ytterligare information frÄn kameran, vilket möjliggör sparande av bilder i formatet "Ultra HDR", dÀr 10 bitar anvÀnds per kanal för fÀrgkodning. Formatet Ultra HDR Àr helt kompatibelt med JPEG, vilket gör att applikationer kan hantera HDR-bilder utan modifieringar och visa dem med ett normalt ljusstyrkeomfÄng om sÄ önskas. Uteffekten i HDR-lÀge aktiveras automatiskt av plattformen om HDR-stödet aktiveras i applikationens manifest eller nÀr Window.setColorMode kallas. För separat rendering av Ultra HDR med OpenGL eller Vulkan kan klassen Gainmap anvÀndas.

- Typen av applikationer som Àr tillÄtna att visa helskÀrmsmeddelanden nÀr skÀrmen Àr lÄst Àr begrÀnsad. Dessa meddelanden Àr avsedda att fÄnga uppmÀrksamhet till information som krÀver omedelbar ÄtgÀrd, sÄsom inkommande samtal eller vÀckning av alarm, sÄ behörigheterna att visa sÄdana meddelanden kommer nu att begrÀnsas till samtals- och varningsapplikationer.
- FörbÀttrad hantering av animationer som signalerar övergÄngar mellan olika skÀrmar (flikar) i applikationen vid svepgester som flyttar innehÄllet. Nya komponenter har lagts till för att animera vÀxlingar mellan undre och sidokÀrmar, samt för att initiera sökningar. En API har lagts till för att skapa egna övergÄngseffekter i applikationen.
- UtvecklingsuppsÀttningen för kamerautvidgningar (Camera Extensions) har uppdaterats, vilket ger möjlighet att anvÀnda mer tidskrÀvande algoritmer som krÀver intensiv berÀkning för bildbearbetning, till exempel för att förbÀttra fotokvaliteten i svagt ljus. Funktioner för att förutsÀga bearbetningstider, fÄ information om bearbetningsframskridande och snabbt fÄ en rÄbild innan den slutliga bilden har beretts har lagts till. En mer optimerad och energieffektiv förhandsgranskningslÀge för SurfaceView har implementerats. Under anvÀndning av utvidgningar stödjs beröring för att stÀlla in fokus och zooma.
- Stödet för anvÀndning av kamerainbyggda funktioner för skalning och beskÀrning av överförda RAW-bilder har tillhandahÄllits.
- För trÄdade hörlurar som ansluts via USB har möjligheten att anvÀnda ljudformat utan förlust av kvalitet (lossless) lagts till. I API:et har klassen AudioMixerAttributes lagts till, vilket möjliggör att ljud kan skickas direkt till enheten utan blandning, volymjustering och effekthantering.
- I det grafiska API:et har klassen Mesh implementerats, vilket gör det möjligt att skapa egna varianter av polygonnÀt med vertex- och fragment-shaders skrivna i AGSL.
- Möjligheten att hÄrdvaruaccelerera rendering till buffer har lagts till, implementerad via klassen HardwareBufferRenderer.
- I klassen Path, som möjliggör skapandet av vektorgrafik baserat pÄ sammansatta geometriska konturer, har stöd för interpolering mellan konturer med liknande struktur lagts till för att skapa en morphing-effekt och för att anvÀnda iteratorn PathIterator för sekventiell genomgÄng av alla kontursegment.
- Möjligheterna att koppla specifika sprÄkinstÀllningar till olika applikationer har utökats. Det ges möjlighet att definiera en lista med sprÄk som kommer att visas i Android-konfiguratorn vid val av sprÄk för en specifik applikation.
- OmrÄdena dÀr systemet visar information relaterad till sekretess, definierad av utvecklaren i Play Console Form, sÄsom policyer för hur data ges till tredje part, har utökats. Till exempel visas sÄdana uppgifter nu i dialogrutan för behörighetsfrÄgan.
- I applikationer som anvÀnder bakgrundshanterare mÄste typ av bakgrundstjÀnst nu anges. Under körning kontrollerar systemet överensstÀmmelsen mellan den angivna tjÀnstetypen, begÀrda behörigheter och anvÀnd API. Till exempel, om en applikation anger typ av bakgrundstjÀnst FOREGROUND_SERVICE_TYPE_LOCATION, förutsÀtter det att behörigheterna ACCESS_COARSE_LOCATION eller ACCESS_FINE_LOCATION kan begÀras.
- Ăndringar har gjorts för att förbĂ€ttra sĂ€kerheten: Appar har nekats att skicka intent-förfrĂ„gningar till vissa interna komponenter pĂ„ plattformen. Dynamiskt laddad kod mĂ„ste nu mĂ€rkas med en lĂ€sbehörighetsattribut. I funktionerna ZipFile(String) och ZipInputStream.getNextEntry() har bearbetning av zip-arkiv som börjar med tecknet "\/" eller innehĂ„ller sekvensen ".." förbjudits. KörrĂ€ttigheter för bakgrundshanterare har begrĂ€nsats och grĂ€nserna för API-anrop som inte tillhandahĂ„lls i SDK har uppdaterats.
- Vid anslutning av en enhet via USB till en stationÀr dator har det, utöver tidigare tillgÀngliga interaktionslÀgen som filöverföring, laddning, delning av internet osv., blivit möjligt att anvÀnda smarttelefonen som en webbkamera (UVC-lÀge, USB Video Class). Som standard Àr denna möjlighet avstÀngd men kan aktiveras vid root-Ätkomst.
- FörbÀttringar har fortsatt att göras för plattformens funktionalitet pÄ surfplattor och enheter med vikbara skÀrmar. Bibliotek för att förutsÀga hÀndelser kopplade till pekarens rörelser har tillhandahÄllits, vilket ger lÄg latens vid arbete med stylus. GrÀnssnittsmallar för stora skÀrmar har tillhandahÄllits, med hÀnsyn till anvÀndningar som sociala medier, kommunikation, multimediainnehÄll, lÀsning och shopping.
- En separat behörighet har lagts till för att ge appar möjlighet att starta ÄtgÀrder nÀr appen befinner sig i bakgrunden. Aktivering medan appen Àr i bakgrunden Àr begrÀnsad för att inte störa anvÀndaren nÀr hen arbetar med den aktuella appen. Aktiva appar har fÄtt fler möjligheter att kontrollera aktivering av ÄtgÀrder frÄn andra appar de interagerar med.
- Systemet för minneshantering har optimerats för att mer effektivt tilldela resurser till appar som körs i bakgrunden. NÄgra sekunder efter att appen har övergÄtt till ett cachelagt tillstÄnd begrÀnsas bakgrundsarbetet till arbete med API:er som hanterar appens livscykel, sÄsom API:er för Foreground Services, JobScheduler och WorkManager.
- Notifieringar som har flaggan FLAG_ONGOING_EVENT kan nu avvisas nÀr de visas pÄ en lÄst enhet. Om enheten Àr i lÄst lÀge förblir sÄdana meddelanden oavvisliga. Meddelanden som Àr viktiga för systemets funktionalitet förblir ocksÄ oavvisliga.
- Nya metoder har lagts till i API:t PackageInstaller: requestUserPreapproval(), som gör att appkatalogen kan skjuta upp nedladdningen av APK-paket tills anvÀndaren godkÀnner installationen; setRequestUpdateOwnership(), som gör det möjligt för installatören att fÄ rÀtt till framtida uppdateringsoperationer; setDontKillApp(), som ger extra möjligheter för applikationen medan den körs. I API:t InstallConstraints har installatörer fÄtt möjlighet att aktivera installationen av appuppdateringar nÀr applikationen inte anvÀnds.
- Arbetet med att förbÀttra plattformens funktionalitet pÄ surfplattor och enheter med vikbara skÀrmar har fortsatt. Rekommendationerna för apputveckling för enheter med stora skÀrmar har uppdaterats och typiska grÀnssnittsmallar för stora skÀrmar har lagts till, vilka tar hÀnsyn till anvÀndning som sociala nÀtverk, kommunikation, multimedia, lÀsning och köp. En preliminÀr version av Cross device SDK har föreslagits med verktyg för att utveckla appar som fungerar korrekt med olika typer av enheter (smartphones, surfplattor, smart-tv och sÄ vidare) och olika formfaktorer.
- Optimering av samordningen av resurskrĂ€vande bakgrundsarbete, sĂ„som nedladdning av stora filer nĂ€r Wi-Fi-anslutning finns, har genomförts. Ăndringar har gjorts i API:t för att starta prioriterade tjĂ€nster (Foreground Service) och schemalĂ€ggning av uppgifter (JobScheduler), dĂ€r ny funktionalitet har lagts till för anvĂ€ndardrivna arbeten relaterade till datatransfer. Krav pĂ„ att ange typ av startade prioriterade tjĂ€nster (arbete med kamera, datasykronisering, multimediauppspelning, platsövervakning, Ă„tkomst till mikrofon osv.) har införts. Definitionen av villkor för aktivering av dataladdning har förenklats, till exempel för nedladdning endast vid tillgĂ„ng via Wi-Fi.
- Det interna systemet för leverans av sĂ€ndningsmeddelanden till applikationer (broadcast system) har optimerats för att minska energiförbrukningen och öka responsiviteten. Mottagningen av registrerade meddelandeströmmar i applikationerna har förbĂ€ttrats â meddelanden kan sĂ€ttas i kö, sammanfogas (till exempel kommer en serie meddelanden BATTERY_CHANGED att aggregeras till ett) och levereras först efter att applikationen har Ă„tergĂ„tt frĂ„n cachat tillstĂ„nd.
- GrÀnsen för maximalt antal cachade applikationer har ökat, vilket har minskat antalet applikationer som startas i "kall" lÀge (dvs. inte cachade i minnet och startas lÄngsammare). För enheter med 8 GB RAM har antalet "kalla" uppstarter av applikationer minskat med 20% efter Àndringar av grÀnserna, och för 12 GB har det minskat med 30%.
- AnvÀndningen av funktioner för att utföra exakta tidoperationer (exakta larm) i applikationer krÀver nu att ett separat behörighet SCHEDULE_EXACT_ALARM erhÄlls, eftersom anvÀndningen av denna funktionalitet kan pÄverka batteritiden negativt och leda till ökad resursanvÀndning (för schemalagda uppgifter rekommenderas att aktivera vid ungefÀrlig tid). Applikationer med kalender- och klockimplementation som anvÀnder aktivering för exakt tid mÄste vid installation ges behörighet USE_EXACT_ALARM. Publiceringar i Google Play-katalogen av applikationer med behörighet USE_EXACT_ALARM tillÄts endast för program med implementation av vÀckarklocka, timer och kalender med hÀndelseaviseringar.
- Möjligheten att ange sprÄkpreferenser kopplade till specifika applikationer har införts. Applikationsutvecklaren kan nu Àndra parametern localeConfig genom att anropa LocaleManager.setOverrideLocaleConfig för att definiera listan över sprÄk som visas för applikationen i Androids instÀllningsgrÀnssnitt.
- API:t Grammatical Inflection har lagts till för att förenkla tillÀgget av översÀttningar av grÀnselement som tar hÀnsyn till sprÄk med genusystem.
- För att förhindra att skadliga applikationer fÄngar intent-förfrÄgningar, Àr det i den nya versionen förbjudet att skicka intents utan att tydligt ange paket eller intern komponent.
- SĂ€kerheten vid dynamisk kodladdning (DCL, Dynamic Code Loading) har ökat â för att förhindra att skadlig kod infogas i dynamiskt laddade körbara filer, mĂ„ste dessa filer nu ha behörigheter som endast tillĂ„ter lĂ€sning.
- Installation of applications with an SDK version below 23 is prohibited, which will help block the circumvention of permission constraints through binding to outdated APIs (API version 22 is prohibited, as a new access management model was introduced in version 23 (Android 6.0), allowing runtime requests for access to system resources). Previously installed applications using old APIs will continue to function after the Android update.
- API Credential Manager har föreslagits, vilket möjliggör autentisering i applikationer med hjÀlp av externa autentiseringstjÀnsters inloggningsuppgifter. Stöd för Passkeys-teknologi har implementerats, vilket gör att anvÀndaren kan autentisera sig utan lösenord med hjÀlp av biometriska identifierare som fingeravtryck eller ansiktsigenkÀnning. GrÀnssnittet för kontoalternativ har förbÀttrats.
- Android Runtime (ART) har implementerat stöd för OpenJDK 17. GrundlÀggande Java-bibliotek och verktyg för applikationsutveckling har uppdaterats till OpenJDK 17. Stöd har lagts till för de sprÄkmöjligheter och Java-klasser som finns i OpenJDK 17, sÄsom record-typer, textstrÀngar med flera rader och mönstermatchning i operatorn "instanceof".
- Mer avancerade komprimeringsmetoder har anvÀnts i Android Runtime, vilket har minskat filstorleken i genomsnitt med 9,3 % utan att pÄverka prestandan.
- Metoden för att uppdatera certifikat för certifikatutfÀrdare (CA) har Àndrats. Systemcertifikat kommer inte lÀngre att kopplas till firmware utan levereras i ett separat paket som uppdateras via Google Play. Denna metod förenklar underhÄllet av aktuella certifikat och borttagningen av komprometterade certifikat, samt förhindrar enhetsleverantörer frÄn att manipulera listan över rotcertifikat och gör uppdateringsprocessen oberoende av firmware-uppdateringar. à andra sidan kommer den nya leveransmetoden att hindra anvÀndaren frÄn att göra Àndringar i systemcertifikaten, Àven om denne har root-Ätkomst och fullstÀndig kontroll över firmware.
KĂ€lla: opennet.ru









