【Android】Android4.4添加新語言和字庫

一、修改編譯配置文件

目的:讓PRODUCT_LOCALES := 后面有我們需要添加的語言。

一般原生安卓代碼是修改這兩個(gè)文件

Android/build/target/product/languages_full.mk
Android/build/target/product/languages_small.mk

二、添加系統(tǒng)資源文件

上面添加好了但是還發(fā)現(xiàn)Resources.getSystem().getAssets().getLocales()沒有我們添加的語言,這時(shí)候需要檢查一下在Android/frameworks/base/core/res/res/目錄添加values-xxx相應(yīng)的資源

三、添加字庫

Step1:  
Copy custom font .ttf into frameworks/base/data/fonts

Step2:  
Modify framworks/base/data/fonts/Android.mk ,Add your custom font into list of ‘font_src_files’  

Step3:  
Modify frameworks/base/data/fonts/fonts.mk ,Add your custom font into list of PRODUCT_PACKAGES  

完成上面三步之后在文件系統(tǒng)下的/system/fonts/就有添加的字庫了,也可以通過mm命令然后在out/下檢查。

四、字庫資源載入

Android4.0+ 和之前版本方式不一樣

Modify frameworks/base/data/fonts/fallback_fonts.xml,Add your custom font like below :

    <family>
        <fileset>
            <file>Himalaya.ttf</file>
        </fileset>
    </family>

五、可能遇到的問題

1、在setting里面沒有語言選項(xiàng)。

  • languages_full.mk沒有添加到語言
  • framework res和settings res沒有需添加語言的資源
  • 語言的名稱不是規(guī)定的。如緬甸語的名稱是my_MM,可以在維基查找。
  • ICU文件沒有相應(yīng)語言

2、在settings的語言欄有選項(xiàng),但是空的。

  • 檢查安卓文件系統(tǒng)下system/etc/fallback_fonts.xml下面是否有添加新的字庫
  • 檢查安卓文件系統(tǒng)下system/fonts/是否有新的字庫文件

六、參考文章:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容