Du behöver inte ladda ner en fullständig uppdatering för att få nya emojis på Android 12

Google förbereder sig för att koppla bort nya emojis från Android 12-systemuppdateringar, vilket gör det lättare att introducera nya emojis på telefoner.

Uppdatering 1 (26/01/2021 @ 13:53 ET): Google har slagit samman commits som möjliggör uppdateringsbara systemteckensnitt i Android, lagom till Android 12. Klicka här för mer information. Artikeln som publicerades den 24 november 2020 finns bevarad nedan.

Emojis har blivit en integrerad del av vårt informella uttryck. Dessa små grafiska tillgångar lägger till känslor, avsikter och karaktär till bara ord. Den frekventa tillägg av nya emojis till Unicode-standarden är ett vittnesbörd om deras popularitet. När Unicode får nya emojis måste vi vänta på en OS-uppgradering för att nå våra telefoner för att ge stöd för emojin, innan vi faktiskt kan göra dem till en del av vårt internetspråk. Google verkar förbereda sig för att göra detta enklare, eftersom några åtaganden indikerar att det arbetar med att koppla bort nya emojis från Android-systemuppdateringar.

Som det ser ut för närvarande är alla teckensnitt på Android för närvarande lagrade i systempartitionen, och mer specifikt, under /system/fonts katalog. Emojis, i synnerhet, finns i filen som kallas NotoColorEmoji.ttf. Systempartitionen är skrivskyddad, och uppdatering av alla filer inom partitionen kräver en systemuppdatering medan partitionen inte är monterad. Så det enda sättet att få nya typsnitt och nya emojis är att vänta på en officiell OTA-uppdatering eller installera det själv inofficiellt via root.

Nya commits har upptäckts hos Android Open Source Project (AOSP) Gerrit som ser till att koppla bort teckensnittsfiler från att behöva en OS-uppgradering. Tänk på att dessa åtaganden inte har slagits samman ännu. Vi kan ta reda på deras syfte från åtagandebeskrivningarna:

Lägg till katalogen /data/fonts/files:

De uppdaterade teckensnittsfilerna kommer att lagras i /data/fonts/files och alla program kommer att läsa dem för att rita text. Således måste /data/fonts/files vara läsbara av appar och endast skrivbara av system_server (och init).

Ställ in katalogen /data/fonts för uppdateringsbara systemteckensnitt:

- /data/fonts/files De uppdaterade teckensnittsfilerna placeras i denna katalog. Filerna under den här katalogen kan läsas av alla appar. Endast system_server kan skriva teckensnittsfiler till den här katalogen.

- /data/fonts/config Teckensnittskonfigurationen som används av system_server lagras i denna katalog. Endast system_server kan läsa/skriva denna katalog.

Dessa åtaganden gör det i huvudsak möjligt för system_server process för att skriva uppdaterade teckensnittsfiler till /data/fonts-katalogen. Datapartitionen är monterad som läs-skriv, så med denna ändring tillåter Google endast system_server behandla behörigheten att skriva till den här katalogen. Alla appar kommer sedan att läsa teckensnitts- och emoji-filerna från den här katalogen för att rita text. Således kan uppdaterade teckensnittsfiler, och i förlängningen nya emojis, skjutas till telefonen utan att behöva en hel OTA-uppdatering för detta ändamål.

Vi upprepar att dessa åtaganden inte har slagits samman ännu. Därför är vi inte säkra på när denna förändring kommer att ske. Om dessa åtaganden slås samman inom de närmaste månaderna kan vi se denna förändring ske inom Android 12.

Tack vare XDA Recognized Developer luca020400 för tipset!


Uppdatering 1: Möjligt stöd i Android 12

För några dagar sedan, Google slås samman commits som skapar en /data/fonts-katalog för uppdateringsbara systemteckensnitt. Eftersom emojis finns i en teckensnittsfil betyder det att nya emojis kan läggas till genom att skicka en uppdaterad teckensnittsfil till den här katalogen istället för genom en fullständig systemuppdatering. Och eftersom dessa åtaganden slogs samman före den stabila versionen av Android 12 om några månader, är det troligt att denna uppdateringsbara systemteckensnittsfunktion kommer att vara tillgänglig i den kommande Android-versionen.

Tack vare @LinkofHyrule89 för tipset!