Вам не придется загружать полное обновление, чтобы получить новые смайлы на Android 12.

click fraud protection

Google готовится отделить новые смайлы от обновлений системы Android 12, чтобы упростить внедрение новых смайлов на телефонах.

Обновление 1 (26.01.2021, 13:53 по восточному времени): Google объединил коммиты, которые позволяют обновлять системные шрифты в Android, как раз вовремя Андроид 12. Для получения дополнительной информации нажмите здесь. Статья, опубликованная 24 ноября 2020 г., сохранена ниже.

Эмодзи стали неотъемлемой частью нашего неформального самовыражения. Эти крошечные графические ресурсы добавляют к простым словам эмоции, намерения и характер. Частые добавление новых смайлов в стандарт Unicode является свидетельством их популярности. Всякий раз, когда в Unicode появляются новые смайлы, нам нужно дождаться обновления ОС для наших телефонов, чтобы обеспечить поддержку смайлов, прежде чем мы сможем фактически сделать их частью нашего интернет-жаргона. Google, похоже, готовится упростить эту задачу, поскольку несколько коммитов указывают на то, что компания работает над отделением новых смайлов от обновлений системы Android.

В настоящее время все шрифты на Android хранятся в системном разделе, а точнее, в папке /system/fonts каталог. В частности, эмодзи присутствуют в файле под названием NotoColorEmoji.ttf. Системный раздел доступен только для чтения, и для обновления любого файла в разделе требуется обновление системы, пока раздел не смонтирован. Таким образом, единственный способ получить новые шрифты и новые смайлы — это дождаться официального OTA-обновления или установить самостоятельно неофициально через root.

В проекте Android Open Source Project (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 может читать/записывать этот каталог.

Эти коммиты по существу делают возможным системный_сервер процесс записи обновленных файлов шрифтов в каталог /data/fonts. Раздел данных монтируется с возможностью чтения и записи, поэтому с этим изменением Google разрешает только системный_сервер обработать разрешение на запись в этот каталог. Затем все приложения будут читать файлы шрифтов и смайлов из этого каталога для рисования текста. Таким образом, обновленные файлы шрифтов и, как следствие, новые смайлы можно загрузить на телефон без необходимости полного OTA-обновления для этой цели.

Мы еще раз повторяем, что эти коммиты еще не были объединены. Следовательно, мы не уверены, когда произойдет это изменение. Если эти коммиты будут объединены в течение следующих нескольких месяцев, мы увидим, что это изменение произойдет в Андроид 12.

Спасибо признанному разработчику XDA luca020400 за подсказку!


Обновление 1: Возможная поддержка в Android 12.

Несколько дней назад Google объединенный коммиты, которые создают каталог /data/fonts для обновляемых системных шрифтов. Поскольку смайлы содержатся в файле шрифта, это означает, что новые смайлы можно добавлять, помещая обновленный файл шрифта в этот каталог, а не путем полного обновления системы. А поскольку эти коммиты были объединены перед выпуском стабильной версии Android 12 через несколько месяцев, вполне вероятно, что эта обновляемая функция системных шрифтов будет доступна в предстоящем выпуске Android.

Благодаря @ЛинкофХируле89 за подсказку!