Теперь вы можете использовать наложения ресурсов времени выполнения (RRO) для изменения шрифтов. Добавляя пользовательские шрифты для создания пакета шрифтов, вы можете использовать шрифты в темах и использовать RRO для применения настроек.
Выполните следующие задачи:
- Создать пакет шрифтов
- Создание пакета наложения устройств
- Используйте добавленное семейство системных шрифтов.
Примеры файловой структуры и примеры файлов представлены в файле custom-fonts.zip . Загрузите и затем извлеките этот файл локально для собственного использования.
Создать пакет шрифтов
Чтобы создать пакет шрифтов:
-  Добавьте все файлы шрифтов ttfв пакет шрифтов в разделеvendor. Например:vendor/[oem]/fonts/[oem]-sans/
-  Создайте файл Android.mkдля пакета шрифтов. Например:vendor/[oem]/fonts/[oem]-[fontname]/Android.mk
-  Убедитесь, что модуль будет установлен в раздел productв папкеetcДля этого убедитесь, что модуль имеет следующие флаги:LOCAL_MODULE_CLASS := ETC LOCAL_PRODUCT_MODULE := true LOCAL_MODULE_PATH := $(TARGET_OUT_PRODUCT)/fonts Приведенный выше пример кода иллюстрирует полное определение модуля пакета шрифтов. 
-  Создайте файл с именем fonts.mkдля пакета шрифтов, а затем добавьте файлы шрифтовttfвPRODUCT_PACKAGES. Например:vendor/[oem]/fonts/[oem]-[fontname]/fonts.mkНапример: PRODUCT_PACKAGES := \ [font name].ttf \ 
Создание пакета наложения устройств
-  Создайте модуль с именем fonts_customization.xml, который будет добавлен в сборку. Этот модуль указывает на файлfonts_customization.xml, содержащий семейства шрифтов, и вызывает файлы make всех пакетов шрифтов. Например:vendor/[oem]/[device]_overlay/fonts/Android.mk
-  Создайте семейства шрифтов:vendor/[oem]/[device]_overlay/fonts/fonts_customization.xmlКорневым уровнем файла должен быть тег fonts-modification. Добавьте семейства шрифтов для каждого пакета шрифтов в этом элементе. Кроме того, добавьтеcustomizationType="new-named-family"к каждому семейству шрифтов и убедитесь, что у каждого есть атрибутname. Это имя используется позже для доступа к семейству шрифтов. Этот файл необходимо добавить в модульfonts_customizations.xml, определенный ранее вAndroid.mk.Приведенный выше образец содержит действительный файл fonts_customization.xml.
-  Создайте fonts.mk. Например:vendor/[oem]/[device]_overlay/fonts/fonts.mk
-  Добавьте fonts_customization.xmlпод флагомPRODUCT_PACKAGES.
-  Вызовите каждый из ранее созданных пакетов шрифтов.$(call inherit-product-if-exists, vendor/[oem]/fonts/[oem]-[fontname]/fonts.mk)
-  Добавьте модуль шрифта в сборку в разделе PRODUCT_PACKAGES, а затем пересоберите. Шрифты будут установлены в систему.
-  Убедитесь, что файлы шрифтов ttfнаходятся в папке/product/fontsна устройстве.
-  Убедитесь, что fonts_customization.xmlнаходится в каталоге/product/etc/на устройстве.
Используйте новое семейство системных шрифтов
Чтобы использовать новое семейство системных шрифтов:
<style name="customstyle">
    <item name="android:fontFamily">customfontfamily</item>
</style>