Android 12 är här med sin första Developer Preview och en hel del förändringar för utvecklare

click fraud protection

Android 12 Developer Preview 1 är här, med massor av förändringar för apputvecklare att se upp och anpassa sina appar till. Läs vidare!

Operativsystemet Android har funnits i flera år nu och det har blivit det dominerande operativsystemet för mobila enheter. Även om Android som plattform definitivt har mognat under åren, finns det alltid utrymme för vissa förbättringar. Och förbättra det kommer, eftersom Google nu släpper den första versionen av sin nästa uppgradering, Android 12. Android 12 Developer Preview 1 är här, och den tar med sig förändringar som gör Android mer intuitivt, bättre prestanda och säkrare.

Innan vi går vidare, här är något som behöver upprepas: Denna utvecklarförhandsgranskning, som namnet antyder, är avsedd endast för utvecklare så att de kan prova det kommande operativsystemet och testa sina appar för att anpassa sig till de förändringar som är infördes. Det betyder att detta är en mycket grov OS-version, som det är tänkt, men Google kommer att polera den med feedback från utvecklare under de närmaste månaderna. Om du är en genomsnittlig användare kommer Android 12-uppdateringen för dig att anlända inte förrän under andra halvåret. Tills dess rekommenderar vi att du håller dig borta från att flasha builds på din telefon och bara läser vår täckning för att hålla dig uppdaterad om alla ändringar som kommer till Android!

Android 12 byggs med hyresgästerna av integritet, bättre användarupplevelse och bättre prestanda, med dess Developer Preview 1 som introducerar:

  • Förtroende och säkerhet
    • Moderna SameSite-cookiebeteenden i WebView
    • Begränsad Netlink MAC
    • Säkrare export av komponenter
    • Säkrare hantering av uppsåt
  • Bättre verktyg för användarupplevelse
    • Kompatibel mediakodning
    • AVIF-bildstöd
    • Optimering av tjänster i förgrunden
    • Infogning av rikt innehåll
    • Haptiskt kopplad ljudeffekt
    • Flerkanaligt ljud
    • Uppslukande lägesförbättringar för navigering med gester
    • Uppdateringar av meddelandegränssnittet
    • Snabbare och mer lyhörda aviseringar
    • Förbättrade Binder IPC-samtal
  • Appkompatibilitet
    • Project Mainline / Google Play Systemuppdateringar: ART och mer
    • Optimerar för surfplattor, hopfällbara, TV-apparater
    • Uppdaterade listor över icke-SDK-gränssnitt
    • Enklare testning och felsökning av ändringar
    • Milstolpe för plattformens stabilitet
  • Hur man laddar ner och Hur man installerar Android 12 Förhandsvisning av utvecklare 1

Google hoppas kunna ge användarna mer insyn och kontroll samtidigt som Android-enheterna är säkra. Android 12 tar med sig nya kontroller över identifierare som kan användas för spårning, säkrare standardinställningar för appkomponenter och mer.

Moderna SameSite-cookiebeteenden i WebView

WebView uppdateras för att få den i linje med ändringar i Google Chrome och andra webbläsare, med avseende på SameSite-cookies beteende. Detta kommer att ge ytterligare säkerhet och integritet och ge användarna mer transparens och kontroll över hur cookies kan användas på olika webbplatser.

Google vill att utvecklare ska migrera till integritetsskyddande återställningsbara identifierare. För detta ändamål har den antagit ett försök med flera utgåvor för att underlätta migreringen av Netlink MAC med enhetsomfattning. Android 11 begränsade åtkomst till enhetsomfattande Netlink MAC till API-nivå 30, och i Android 12 tillämpas begränsningen för alla appar, oavsett målSDK-nivå.

Säkrare export av komponenter

Appar på tidigare Android-versioner kan oavsiktligt exportera aktiviteter, tjänster och mottagare. Google ändrar standardhanteringen av android; exporteras attribut för att vara mer explicit i Android 12. Med Android 12 måste komponenter som deklarerar ett eller flera avsiktsfilter nu uttryckligen deklarera en android; exporteras attribut. Google råder utvecklare att inspektera sina komponenter i manifestet för att undvika installationsfel relaterade till ändringen.

Säkrare hantering av avsikter

Android 12 kräver att appar uttryckligen deklarerar en förändringsflagga heller FLAG_MUTABLE eller det nya FLAG_IMMUTABLE, för varje PendingIntent. Detta borde göra hanteringen av PendingIntents säkrare.


Ingen uppdatering är komplett utan lite mer polering mot användarupplevelsen, och Android 12 är inte annorlunda.

De flesta mobila enheter har nuförtiden H.265 / HEVC-hårdvarukodning, vilket gör det möjligt för kameraappar fånga i HEVC-formatet eftersom det erbjuder betydande förbättringar i kvalitet och komprimering jämfört med äldre codecs. De flesta appar stöder HEVC, men det finns fortfarande några som inte stöder det. För dessa appar introducerar Google kompatibel mediakodning med Android 12.

Med den här funktionen kan en app som inte stöder HEVC låta plattformen automatiskt omkoda filen till H.264 / AVC, ett format som ser mycket bredare kompatibilitet. Som man kan förvänta sig kommer omkodningsprocessen att ta lite tid beroende på videon och hårdvaruegenskaperna hos smarttelefonen. Google ger exemplet med Pixel 4 (Snapdragon 855) som tar cirka 9 sekunder att omkoda en 1-minuters 1080p 30fps-video.

Utvecklare kan välja att använda omkodningstjänsten genom att helt enkelt deklarera de medieformat som deras app inte stöder. Google rekommenderar starkt att appar stöder HEVC i första hand, men om det inte är möjligt bör utvecklaren aktivera kompatibel medieomkodning. Funktionen kommer att vara aktiv på alla enheter som använder HEVC-format för videoinspelning.

AVIF-bildstöd

Android 12 introducerar plattformsstöd för AV1 Image File Format, vilket möjliggör högre bildkvalitet med effektivare komprimering. AVIF är ett containerformat för bilder och sekvenser av bilder kodade med hjälp av AV1. AVIF drar fördel av det intra-frame-kodade innehållet från videokomprimering, vilket dramatiskt förbättrar bildkvaliteten för samma filstorlek jämfört med äldre bildformat som JPEG.

Vänster: AVIF (18,2kB). Höger: JPEG (20,7 kB). Krediter: Bildjämförelse från AVIF har landat av Jake Archibald

Optimering av förgrundstjänster

En förgrundstjänst är en tjänst som utför någon operation som är märkbar för användaren, som en ljudapp som spelar ett ljudspår och därmed använder en förgrundstjänst. Dessa tjänster är ett viktigt sätt för appar att hantera vissa typer av användarinriktade uppgifter. Men när de överanvänds kan det påverka prestandan och till och med leda till appdödar.

Med hänvisning till förbättringar av användarupplevelsen kommer Google att blockera förgrundstjänststarter från bakgrunden för appar som riktar sig till den nya plattformen. Och för att göra det enklare för utvecklare att gå bort från detta startmönster introducerar Android 12 ett nytt påskyndat jobb i JobScheduler som får förhöjd processprioritet, nätverksåtkomst och körs omedelbart oavsett strömbegränsningar som batteri Saver eller Doze. För bakåtkompatibilitet har Google också byggt in snabba jobb i den senaste versionen av Jetpack WorkManager-biblioteket. Dessutom fördröjer Google även visningen av vissa förgrundstjänstmeddelanden med upp till 10 sekunder. Detta ger kortlivade uppgifter en chans att slutföra innan deras aviseringar visas, vilket minskar distraktionen för användarna.

Infogning av rikt innehåll

Vi har länge passerat den punkt där vår kommunikation på telefoner bara förlitade sig på enkel röst och text. Den mesta kommunikationen idag är ofullständig utan tillhörande bilder (läs: memes), videor och annat uttrycksfullt innehåll (läs: reaktions-gifs). Det är dock inte lätt att infoga och flytta dessa rika typer av innehåll i och mellan appar.

För att göra det enklare för appar att ta emot rikt innehåll, introducerar Google ett nytt enhetligt API som låter dem acceptera innehåll från vilken källa som helst: urklipp, tangentbord eller dra och släpp. Utvecklare kan bifoga ett nytt gränssnitt som heter OnReceiveContentListener till UI-komponenter och få en återuppringning när innehåll infogas via valfri mekanism. Denna återuppringning blir följaktligen den enda platsen för appkoden för att hantera infogningen av alla typer av innehåll, oavsett om det är vanlig text, formaterad text, uppmärkning, bilder, video eller ljudfiler, och bortom.

För bakåtkompatibilitet har Google lagt till det förenade API: et till Androidx.

Haptiskt kopplad ljudeffekt

I Android 12 kan appar ge ljudkopplad haptisk feedback genom telefonens vibrator. Vidare är vibrationsstyrkan och frekvensen härledd från en ljudsession, vilket gör att utvecklare kan skapa en mer uppslukande spel- och ljudupplevelse. Till exempel kan samtalsappar kanske använda anpassade ringsignaler för att identifiera uppringare genom haptisk feedback, och spel kan simulera tuff terräng i ett racingspel. Det finns en hel del möjligheter att utforska här.

Flerkanaligt ljud

Android 12 innehåller flera förbättringar för ljud med rumslig information. Det ger stöd för MPEG-H uppspelning i passthrough och offload-läge. Ljudmixrarna, resamplarna och effekterna har optimerats för upp till 24 kanaler (det tidigare maxtalet var 8 på Android 11).

Uppslukande lägesförbättringar för navigering med gester

Android 12 för med sig en förändring som låter väldigt viktig på ytan. I helskärms- eller uppslukande appupplevelser kommer Android 12 att tillåta användare att navigera på sina telefoner med ett svep som standard. OS kommer fortfarande att skydda appar från oavsiktliga gester i dessa helskärmsupplevelser. Vi kommer att lägga vantarna på utvecklarförhandsgranskningen för att ta reda på exakt vad som har förändrats eftersom formuleringen inte gör förändringen fullständig rättvisa.

Uppdateringar av meddelandegränssnittet

Som du kanske redan har sett i läckte Android 12-skärmdumpar, kommer aviseringar att få lite av en touch-up för att göra dem mer moderna, enklare att använda och mer funktionella. Google nämner att det sker ändringar från lådan och kontrollerna till själva mallarna. Övergångar och animationer optimeras också för att göra dem smidigare. Appar som riktar sig till Android 12 kommer också att ha tillgång till aviseringar med anpassat innehåll med ikon och andra ändringar för att matcha alla andra aviseringar. Vi kommer att titta närmare på förändringarna i vår praktiska verksamhet.

Snabbare och mer lyhörda aviseringar

Aviseringar bör erbjuda en tydlig och snabb väg för att nå en viss sektion i en app. Av den anledningen måste utvecklare se till att aviseringskranningar utlöser aktivitet direkt, snarare än att använda en mellanliggande sändningsmottagare eller tjänst för att starta aktiviteten (ett tillvägagångssätt som Google refererar till som avisering Trampolin). Aviseringstrampoliner kan orsaka betydande förseningar och påverka användarupplevelsen, och så, Android 12 kommer att blockera dessa aviseringstrampoliner genom att hindra dem från att skjuta upp sitt mål Aktiviteter. Google ber utvecklare att migrera bort från en sådan praxis. Denna ändring gäller bara appar som riktar sig till den nya plattformen, men för alla appar kommer Google att visa en skål för att göra studsmattor synliga för utvecklaren och för användarna.

Förbättrade Binder IPC-samtal

Google har fokuserat på att minska systemvariabiliteten genom att göra optimeringar av latens och arbetsbelastningsfördelning som minskar medianupplevelsen för 99 % percentilanvändning. Detta har resulterat i förbättringar av systembinderanrop, lagt till lättviktsstrategier för cachning och fokus på att ta bort låskonflikter för att förbättra latensfördelningen. Google hävdar att detta har gett cirka 2x prestandaökning på Binder-samtal totalt sett, med betydande förbättringar i specifika samtal som t.ex. refContentProvider() (47x förbättring), releaseWakeLock() (15x förbättring), och JobScheduler.schedule() (7,9x förbättring).


Appkompatibilitet i Android 12

I det här avsnittet talar Google om att göra uppdateringar snabbare och smidigare för både utvecklare och användare. App-inriktade förändringar görs opt-in för att ge utvecklare mer tid att anpassa sig till den nya plattformen.

Project Mainline / Google Play Systemuppdateringar: ART och mer

Som vi räknade ut förra året själv, Google övergår ART till en Project Mainline-modul. Detta kommer att tillåta Google att förbättra körtidsprestandan och korrektheten, hantera minneskärnan mer effektivt och göra Kotlins verksamhet snabbare – allt utan att behöva en fullständig systemuppdatering.

Vidare levereras några av funktionerna som nämns i just denna nyhet också genom Project Mainline. Till exempel levereras den sömlösa omkodningsfunktionen genom en uppdateringsbar modul, vilket indikerar att detta mycket väl kan vara framtiden för Android.

Optimerar för surfplattor, hopfällbara och TV-apparater

Google släpper också den första Android 12-förhandsvisningen för Android TV. Med detta får du inte bara de senaste Android-funktionerna på TV: n, utan får även testa mot det nya Google TV erfarenhet.

Uppdaterade listor över icke-SDK-gränssnitt

Med den här utgåvan har Google begränsade ytterligare icke-SDK-gränssnitt.

Enklare testning och felsökning av ändringar

Introducerat med Android 11, tillåter Google för enklare testning och felsökning av ändringar genom opt-in växlar för ändringar som presenteras individuellt från utvecklaralternativ eller via ADB.

Milstolpe för plattformens stabilitet

Precis som förra året planerar Google att nå Platform Stability-milstolpen för den här utgåvan, för att låta utvecklare ha konkreta kunskap om de slutliga SDK/NDK API: erna och alla de slutliga interna API: erna och app-vända systembeteenden som de behöver för att förbereda sina app för. Google räknar med att nå Android 12 Platform Stability i augusti 2021.


Ladda ner och installera Android 12 Developer Preview 1

Du kan enkelt ladda ner den senaste Android 12 Developer Preview från länkarna som finns i vår dedikerade artikel, som kommer att uppdateras med nedladdningslänkar även för framtida utgåvor.

Google släpper officiellt den här förhandsgranskningsuppdateringen för utvecklare för:

  • Pixel 5
  • Pixel 4a 5G
  • Pixel 4a
  • Pixel 4
  • Pixel 4 XL
  • Pixel 3a
  • Pixel 3a XL
  • Pixel 3
  • Pixel 3 XL

Vidare har vi installationsinstruktioner tillgängliga för Android 12 Developer Preview 1 för vanliga installationsvägar som Recovery, ADB och Fastboot för de ovannämnda Pixel-enheterna och genom en GSI för alla andra Project Treble-kompatibla enheter.