Frigivelse af den mobile platform Android 14

Google har udgivet en udgivelse af den åbne mobilplatform Android 14. Kildekoden, der er knyttet til den nye udgivelse, er lagt ud i projektets Git-repository (branch android-14.0.0_r1). Firmwareopdateringer er blevet forberedt til enheder i Pixel-serien. Senere er det planlagt at forberede firmwareopdateringer til smartphones produceret af Samsung Galaxy, iQOO, Nothing, OnePlus, Oppo, Realme, Sharp, Sony, Tecno, vivo og Xiaomi. Derudover er der blevet oprettet universelle GSI (Generic System Images)-assembler, der er egnede til forskellige enheder baseret på ARM64- og x86_64-arkitekturer.

Vigtigste innovationer:

  • Basisplatformen inkluderer Health Connect-lagring, som tidligere blev leveret som en separat pakke via Google Play. Health Connect tilbyder centraliseret lagring af data fra fitnessarmbånd og andre enheder relateret til brugerens helbred og organiserer fælles adgang til sundhedsdata for forskellige applikationer. Adgang til Health Connect-indstillinger vil nu blive givet via standardplatformkonfiguratoren. For eksempel kan du via privatlivsindstillinger administrere, hvilke sundhedsdata specifikke applikationer har adgang til. Derudover har Health Connect tilføjet understøttelse af at gemme oplysninger om den rute, der tages under træning (brugeren bestemmer den tidsperiode, hvor listen over waypoints gemmes). Ruten kan visualiseres på kortet og, hvis det ønskes, overføres til behandling i andre applikationer efter udtrykkelig bekræftelse af handlingen fra brugeren.
     Frigivelse af den mobile platform Android 14
  • Mulighederne for at bekræfte adgang til lokationsoplysninger er blevet udvidet. Der er tilføjet et nyt afsnit til dialogboksen med en anmodning om at bekræfte adgang til lokation, med information om, hvornår applikationen overfører lokationsdata (adgang nægtet, kun tilladt én gang, og tilladt hver gang applikationen køres) og detaljer om, hvor du kan få yderligere information om adgang til de data, der overføres.
     Frigivelse af den mobile platform Android 14
  • Implementerede periodiske (én gang om måneden) meddelelser, der advarer om ændringer i metoderne til overførsel af data til tredjeparter fra applikationer, der har fået adgang til placeringen (f.eks. vist, når applikationen begynder at bruge placeringsdata, når der vises annoncer).
     Frigivelse af den mobile platform Android 14
  • Når du arbejder med applikationer, er der implementeret et mere synligt tilbagepil-tip for at gøre det nemmere at forstå muligheden for at bruge bevægelsen på skærmen til at gå tilbage.
     Frigivelse af den mobile platform Android 14
  • Sharesheet-mekanismen, der bruges til at sende data (f.eks. et billede eller et link) uden for appen eller til en anden bruger, giver dig nu mulighed for at tilføje dine egne handlinger. For eksempel kan du definere din egen liste over ChooserAction-handlere, der viser de apps og brugere, du kan sende til. Derudover er udvalget af signaler, der bruges til at rangere mål for direkte dataafsendelse, blevet udvidet.
     Frigivelse af den mobile platform Android 14
  • Muligheden for delvist at give adgang til kun fotos og videoer, der er valgt af brugeren, er blevet tilgængelig (READ_MEDIA_VISUAL_USER_SELECTED, de filer, der gives adgang til, vælges af brugeren via fotovælgerens brugerflade, når dialogboksen for anmodning om tilladelse vises). Når applikationen er overført til baggrunden, eller programmet er afsluttet, tilbagekaldes den tilladelse, som brugeren har givet, automatisk. I dialogboksen til bekræftelse af tilladelser til applikationsadgang til multimediefiler er det nu muligt kun at give adgang til udvalgte fotos eller videoer.
     Frigivelse af den mobile platform Android 14
  • En sektion til at tilsidesætte regionale præferencer, såsom temperaturenheder, ugens første dag og talsystemet, er blevet tilføjet til konfiguratoren. For eksempel kan en europæer, der bor i USA, konfigurere visningen af ​​temperaturer til at være i Celsius i stedet for Fahrenheit og til at betragte mandag som ugens begyndelse i stedet for søndag.
     Frigivelse af den mobile platform Android 14
  • Funktionerne til skriftstørrelsesjustering er blevet udvidet, det maksimale skriftstørrelsesniveau er blevet øget fra 130 % til 200 %, og for at forhindre tekst i at blive for stor ved høj forstørrelse, anvendes der nu automatisk en ikke-lineær ændring i skaleringsniveauet (stor tekst forstørres ikke lige så meget som lille tekst), hvilket giver optimal tekstlæsbarhed for personer med dårligt syn uden risiko for forvrængninger i brugerfladen.
     Frigivelse af den mobile platform Android 14
  • Understøttelsen af ​​videooptagelse med et højt dynamisk lysstyrkeområde (HDR), som dukkede op i den forrige gren, er blevet udvidet med muligheden for at modtage yderligere information fra kameraet, hvilket gør det muligt at gemme billeder i Ultra HDR-formatet, som bruger 10 bit pr. kanal til farvekodning. Ultra HDR-formatet er fuldt kompatibelt med JPEG, hvilket giver applikationer mulighed for at arbejde med HDR-billeder uden at foretage ændringer og om nødvendigt vise dem ved hjælp af det normale lysstyrkeområde. Output i HDR-tilstand leveres automatisk af platformen, hvis HDR-understøttelse er aktiveret i applikationsmanifestet eller ved kald af Window.setColorMode. Gainmap-klassen kan bruges til separat gengivelse af Ultra HDR ved hjælp af OpenGL eller Vulkan.
     Frigivelse af den mobile platform Android 14
  • De typer apps, der har tilladelse til at vise notifikationer i fuld skærm, når skærmen er låst, er blevet begrænset. Disse notifikationer er designet til at henlede opmærksomheden på oplysninger, der kræver en øjeblikkelig reaktion, f.eks. et indgående opkald eller en alarm, så tilladelser til at vise sådanne notifikationer vil nu være begrænset til opkalds- og alarmapps.
  • Forbedret animationsstyring, der signalerer overgangen mellem forskellige skærme (ark) i appen, når indholdet glider. Tilføjet nye komponenter til animering af skift af bund- og sideskærme, samt søgning. Tilføjet en API til at oprette dine egne overgangseffekter i appen.
  • Kameraudvidelsespakken er blevet opdateret for at understøtte længerevarende og computerintensive billedbehandlingsalgoritmer, f.eks. forbedring af kvaliteten af ​​billeder taget i svagt lys. Den forudsiger nu, hvornår et foto vil tage længere tid at behandle, giver feedback om behandlingsforløbet og får hurtigt en grov version af fotoet, før det endelige billede er klar. Den har også en mere optimeret og energieffektiv SurfaceView-forhåndsvisningstilstand. Tryk for at fokusere og zoome understøttes nu, når du bruger udvidelser.
  • Der er ydet understøttelse af brugen af ​​kameraets indbyggede funktioner til skalering og beskæring af overførte RAW-billeder.
  • For kablede hovedtelefoner tilsluttet via USB er muligheden for at bruge tabsfri lydformater blevet tilføjet. AudioMixerAttributes-klassen er blevet tilføjet til API'en, så du kan sende lyd direkte til enheden uden mixning, lydstyrkejustering eller effektbehandling.
  • Grafik-API'en implementerer Mesh-klassen, som giver dig mulighed for at oprette dine egne versioner af et polygonalt mesh med vertex- og fragment-shaders skrevet i AGSL-sproget.
  • Tilføjet muligheden for hardwareacceleration af rendering i en buffer, implementeret via HardwareBufferRenderer-klassen.
  • Path-klassen, som giver dig mulighed for at skabe vektorgrafik baseret på sammensatte geometriske stier, er blevet opdateret for at understøtte interpolation mellem stier med en lignende struktur for at skabe en morphing-effekt og brugen af ​​en PathIterator til sekventielt at iterere over alle stisegmenter.
  • Mulighederne for at forbinde individuelle sprogindstillinger til forskellige applikationer er blevet udvidet. Muligheden for at definere en liste over sprog, der vises i Android-konfiguratoren, når man vælger et sprog til en bestemt applikation, er blevet tilgængelig.
  • Vi har udvidet de områder, hvor systemet viser privatlivsrelaterede oplysninger defineret af udvikleren i Play Console-formularen, f.eks. politikken for deling af data med tredjeparter. For eksempel vises sådanne oplysninger nu i dialogboksen for anmodning om tilladelse.
  • Apps, der bruger baggrundshåndteringsfunktioner, skal nu angive en baggrundstjenestetype. Under drift kontrollerer systemet, at den angivne tjenestetype matcher de anmodede tilladelser og den anvendte API. Hvis en app f.eks. angiver baggrundstjenestetypen FOREGROUND_SERVICE_TYPE_LOCATION, antages det, at den kan anmode om tilladelser som ACCESS_COARSE_LOCATION eller ACCESS_FINE_LOCATION.
  • Der er foretaget ændringer for at forbedre sikkerheden: Applikationer må ikke længere sende intentionsanmodninger til visse interne platformkomponenter. Dynamisk indlæst kode skal nu markeres med attributten "read-only access". Funktionerne ZipFile(String) og ZipInputStream.getNextEntry() må ikke længere behandle zip-arkiver, hvis stier starter med tegnet "/" eller indeholder sekvensen "..". Start af job fra baggrundshåndteringsprogrammer er blevet begrænset, og begrænsninger for kald af API'er, der ikke findes i SDK'et, er blevet opdateret.
  • Når enheden tilsluttes via USB til en stationær computer, er det, udover de tidligere tilgængelige interaktionstilstande, såsom filoverførsel, opladning, internetdeling osv., nu muligt at bruge smartphonen som et webkamera (UVC-tilstand, USB Video Class). Som standard er denne indstilling deaktiveret, men kan aktiveres, hvis root-adgang er tilgængelig.
  • Fortsatte med at forbedre platformens ydeevne på tablets og enheder med foldbare skærme. Leverede biblioteker, der forudsiger pointerrelaterede hændelser og sikrer lav latenstid, når man arbejder med styluser. Leverede grænsefladeskabeloner til store skærme, under hensyntagen til applikationer som sociale netværk, kommunikation, multimedieindhold, læsning og shopping.
  • Tilføjet en separat tilladelse, der tillader apps at udføre handlinger, mens appen er i baggrunden. Aktivering i baggrunden er begrænset for at undgå at distrahere brugeren, mens han arbejder med den aktuelle app. Forgrundsapps får mere kontrol over, hvordan andre apps, de interagerer med, kan aktivere handlinger.
  • Hukommelsesstyring er blevet optimeret for mere effektivt at allokere ressourcer til applikationer, der kører i baggrunden. Få sekunder efter at en applikation er sat i cachelagret tilstand, er baggrundsarbejdet begrænset til at arbejde med API'er, der administrerer applikationens livscyklus, såsom Foreground Services API, JobScheduler og WorkManager.
  • Notifikationer med FLAG_ONGOING_EVENT-flaget kan nu lukkes, når de vises på en enhed, hvor skærmen er låst op. Hvis enheden er i skærmlåsetilstand, kan sådanne notifikationer ikke lukkes. Notifikationer, der er vigtige for systemets funktion, kan heller ikke lukkes.
  • Nye metoder er blevet tilføjet til PackageInstaller API'en: requestUserPreapproval(), som tillader appkataloget at udsætte download af APK-pakker, indtil brugeren bekræfter installationen; setRequestUpdateOwnership(), som tillader installationsprogrammet at blive tildelt fremtidige appopdateringshandlinger; setDontKillApp(), som tillader installation af yderligere appfunktioner, mens appen kører. InstallConstraints API'en giver installatører mulighed for at udløse installationer af appopdateringer, når appen ikke er i brug.
  • Arbejdet fortsætter med at forbedre platformens ydeevne på tablets og enheder med foldeskærme. Vi har opdateret retningslinjer for udvikling af apps til storskærmsenheder og tilføjet generiske brugergrænseflademønstre til store skærme for at adressere anvendelser såsom sociale medier, kommunikation, multimedieindhold, læsning og shopping. En foreløbig udgivelse af Cross device SDK er blevet foreslået med værktøjer til udvikling af applikationer, der fungerer korrekt med forskellige typer enheder (smartphones, tablets, smart-tv'er osv.) og forskellige formfaktorer.
  • Der er foretaget optimering af koordineringen af ​​ressourcekrævende baggrundsopgaver, såsom download af store filer, når der er en Wi-Fi-forbindelse tilgængelig. Der er foretaget ændringer i API'et til lancering af forgrundstjenester (Foreground Service) og planlægningsopgaver (JobScheduler), som er blevet suppleret med ny funktionalitet til brugerstartede opgaver relateret til dataoverførsel. Der er indført krav til angivelse af typen af ​​prioriterede tjenester, der skal lanceres (arbejde med et kamera, datasynkronisering, afspilning af multimediedata, sporing af placering, adgang til en mikrofon osv.). Definitionen af ​​betingelser for aktivering af datadownloads er blevet forenklet, for eksempel kun til download ved adgang via Wi-Fi.
  • Det interne broadcast-system til levering af broadcast-meddelelser til applikationer er blevet optimeret for at reducere strømforbruget og forbedre reaktionsevnen. Forbedret applikationsaccept af registrerede meddelelsesstrømme - meddelelser kan sættes i kø, flettes (for eksempel vil en række BATTERY_CHANGED meddelelser blive samlet til én) og kun leveret efter applikationen forlader cachetilstanden.
  • Grænsen for det maksimale antal cachelagrede applikationer er blevet øget, hvilket har reduceret antallet af applikationer, der startes i "kold" tilstand (dvs. ikke cachelagret i hukommelsen og startes langsommere). For enheder med 8 GB RAM faldt antallet af "kolde" applikationsstarter med 20 % efter ændringen af ​​grænserne, og med 12 GB - med 30 %.
  • Brug af Exact Alarms-funktionen i applikationer kræver nu, at man opnår en separat SCHEDULE_EXACT_ALARM-tilladelse, da brugen af ​​denne funktionalitet kan påvirke batteriets levetid negativt og føre til øget ressourceforbrug (til planlagte opgaver anbefales det at bruge aktivering inden for den omtrentlige tid). Applikationer med en kalender- og urimplementering, der bruger tidsbaseret aktivering, skal have tilladelsen USE_EXACT_ALARM ved installationen. Udgivelse af applikationer i Google Play-biblioteket med tilladelsen USE_EXACT_ALARM er kun tilladt for programmer, der implementerer et vækkeur, en timer og en kalender med begivenhedsmeddelelser.
  • Det er muligt at angive sprogindstillinger knyttet til individuelle applikationer. App-udvikleren kan nu ændre localeConfig-indstillinger ved at kalde LocaleManager.setOverrideLocaleConfig for at bestemme listen over sprog, der vises for appen i Android-konfigurationsgrænsefladen.
  • Grammatical Inflection API er blevet tilføjet for at gøre det nemmere at tilføje oversættelser af grænsefladeelementer, der tager højde for sprog med et kønssystem.
  • For at forhindre ondsindede programmer i at opsnappe hensigtsanmodninger, forbyder den nye version at sende hensigter uden eksplicit at specificere pakken eller den interne komponent.
  • Sikkerheden ved dynamisk kodeindlæsning (DCL) er blevet forbedret - for at undgå at indsætte ondsindet kode i dynamisk indlæste eksekverbare filer, skal disse filer nu have skrivebeskyttet adgangsrettigheder.
  • Det er forbudt at installere applikationer, hvor SDK-versionen er lavere end 23, hvilket vil blokere for at omgå tilladelsesbegrænsninger gennem binding til gamle API'er (API version 22 er forbudt, da version 23 (Android 6.0) introducerede en ny adgangskontrolmodel, der giver dig mulighed for for at anmode om adgang til systemressourcer). Tidligere installerede applikationer, der bruger gamle API'er, vil fortsætte med at fungere efter opdatering af Android.
  • Credential Manager API er blevet introduceret, hvilket giver dig mulighed for at organisere logins til applikationer ved hjælp af legitimationsoplysninger fra eksterne godkendelsesudbydere. Understøttelse af adgangsnøgleteknologi er blevet implementeret, hvilket giver brugerne mulighed for at godkende uden adgangskoder ved hjælp af biometriske identifikatorer såsom fingeraftryk eller ansigtsgenkendelse. Grænsefladen til valg af en konto er blevet forbedret.
  • Android Runtime (ART) tilføjer understøttelse af OpenJDK 17. Platformens kerne-Java-biblioteker og applikationsudviklingsværktøjer er blevet opdateret til OpenJDK 17. Der er tilføjet understøttelse af sprogfunktioner og Java-klasser, der er tilgængelige i OpenJDK 17, såsom record-klasser, flerlinjede strenge og mønstermatchning i instanceof-operatoren.
  • Android Runtime bruger mere avancerede komprimeringsteknikker, der reducerer filstørrelser med gennemsnitligt 9.3 % uden at gå på kompromis med ydeevnen.
  • Metoden til opdatering af certifikater fra certificeringsmyndigheder (CA) er blevet ændret. Systemcertifikater vil ikke længere være knyttet til firmwaren, men vil blive leveret som en separat pakke, der opdateres via Google Play. Denne tilgang vil forenkle vedligeholdelsen af ​​nuværende certifikater og fjernelse af certifikater fra kompromitterede CA'er, og vil også forhindre enhedsproducenter i at manipulere listen over rodcertifikater og gøre processen med at opdatere dem uafhængig af opdatering af firmwaren. På den anden side vil den nye leveringsmetode ikke tillade brugeren at foretage ændringer i systemcertifikater, selvom vedkommende har root-adgang til systemet og fuld kontrol over firmwaren.

Kilde: opennet.ru

Tilføj en kommentar