涉及文件
frameworks\base\data\fonts\
1. fonts.xml
2. fallback_fonts.xm
3. fonts.mk
4. Android.mk
5. ttf字体文件
修改方法
修改fonts.xml,在其中对应位置添加如下代码
Hpsimplifiedhans-light.ttf
Hpsimplifiedhans-regular.ttf
...
Hpsimplifiedhans-light.ttf
Hpsimplifiedhans-regular.ttf
Hpsimplifiedhans-light.ttf
Hpsimplifiedhans-regular.ttf
...
修改fallback_fonts.xml,在对应位置添加如下代码(该文件在android5.0之后不会被framework读取,但是fonts文件头部注释要求保持同步,具体可参照注释)
Hpsimplifiedhans-light.ttf
Hpsimplifiedhans-regular.ttf
...
修改fonts.mk,在对应位置添加如下代码
# modify start
PRODUCT_COPY_FILES := \
frameworks/base/data/fonts/system_fonts.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/system_fonts.xml \
frameworks/base/data/fonts/fonts.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/fonts.xml \
frameworks/base/data/fonts/fallback_fonts.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/fallback_fonts.xml
# modify end
ifneq ($(MULTI_LANG_ENGINE),REVERIE)
...
# modify
PRODUCT_PACKAGES := \
Hpsimplifiedhans-light.ttf \
Hpsimplifiedhans-regular.ttf \
...
修改Android.mk 在对应位置添加如下代码
ifeq ($(MINIMAL_FONT_FOOTPRINT),true)
...
else # !MINIMAL_FONT
font_src_files += \
Hpsimplifiedhans-light.ttf \
Hpsimplifiedhans-regular.ttf \
...
拷贝ttf字体文件至以下文件夹
frameworks\base\data\fonts\
PS:修改mk文件时,需保证前一行换行符之后没有任何字符,后一行前面的空白中没有非法字符。否则编译会报错