表情符号已经成为我们在线沟通的一个重要组成部分,这些微小的图形为单纯的文字增添了情感。每当 Unicode 获得新的表情符号时,我们需要等待操作系统升级到我们的手机上,才能带来对表情符号的支持。谷歌似乎准备让这一切变得更简单,因为一些信息表明,谷歌正在努力将新的表情符号与 Android 系统更新分离。
目前来看,Android 系统中的所有字体都存储在系统分区中,更确切地说,是存储在 / system/fonts 目录下。尤其是表情符号,存在于名为 NotoColorEmoji.ttf 的文件中。系统分区是只读的,更新分区内的任何文件都需要在分区未挂载时进行系统更新。所以要想获得新的字体和新的表情符号,唯一的办法就是等待官方的 OTA 更新,或者自己通过 root 进行非官方安装。
在 Android 开源项目 (AOSP)Gerrit 上发现了新的提交内容,看起来是要将字体文件从需要操作系统升级的地方分离出来。
增加 / data/fonts/files 目录:
更新后的字体文件将被保存在 / data/fonts/files 中,所有的应用程序都可以读取它来绘制文字。因此,/data/fonts/files 需要被应用程序读取,而只有 system_server(和 init)可以写入。
设置 / data/fonts 目录为可更新的系统字体:
- /data/fonts/files 更新后的字体文件就放在这个目录下。该目录下的文件可以被任何应用程序读取。只有 system_server 可以将字体文件写入该目录。
- /data/fonts/config system_server 所使用的字体配置存放在此目录下,只有 system_server 能读 / 写字体文件到此目录下。只有 system_server 可以读 / 写这个目录。
这些提交内容基本上使得 system_server 进程可以将更新的字体文件写入 / data/fonts 目录。数据分区的挂载方式是读写式的,所以通过这次修改,谷歌只允许 system_server 进程有权限写入这个目录。然后,所有的应用都会从这个目录中读取字体和表情文件来绘制文字。因此,更新后的字体文件,以及新的表情符号,可以推送到手机上,而不需要为此进行整个 OTA 更新。
IT之家了解到,这些提交内容还没有合并,因此不能确定何时会发生这种变化。如果这些提交在未来几个月内被合并,我们应该可以看到这一变化在 Android 12 中发生。