本篇教程所採用的方法,即直接替換法。教程主要是針對所有的安卓設備。要求:機器已經獲取了root權限。替換字體可能會導致系統異常,由於個人修改系統字體操作失誤導致系統異常的,本人概不負責。替換字體前請務必備份一次原文件,防止由於誤操作導致系統字體丟失。
工具/原料
一部安卓手機
安卓字體包
ROOT軟件
Root Explorer
方法/步驟
替換前您還需要知道……
Android OS 字庫位於:/system/fonts/目錄下
Android OS Ver 1.5 ~ 3.0部分字體文件說明:
DroidSans.ttf系統默認英文、數字常規字體
DroidSans-Bold.ttf系統默認英文粗字體
DroidSansFallback.ttf系統默認中文字體
實際上,安卓系統版本在1.5 ~ 3.0的,如果需要更換中、英文兩種字體,其實只要替換DroidSans.ttf 、DroidSansFallback.ttf 兩個文件即可。切勿去替換英文字體DroidSans-Bold.ttf,因為這可能會導致你的設備不能正常開機。
Android OS Ver 4.0 ~ 5.0部分字體文件說明:
DroidSans.ttf(鏈接文件) -->(指向)Roboto-Regular.ttf(實際文件)
DroidSans-Bold.ttf(鏈接文件)-->(指向)Roboto-Bold.ttf(實際文件)
DroidSansFallback.ttf系統默認中文字體(未做出改變)
安卓系統版本在4.0 ~ 5.0的,如果需要更換中、英文兩種字體,只需要替換Roboto-Regular.ttf、DroidSansFallback.ttf兩個文件即可。經測試發現,若設備替換了英文字體Roboto-Bold.ttf,即使修改好了文件權限、所有者和用戶組也照常不能正常開機。
這些新的Roboto英文字體是由Google發佈的新一代操作系統Android4.0 提供的,為了顯示效果更加清晰美觀,與整個界面系統完美融合。而之前的DroidSans.ttf 、DroidSans-Bold.ttf已經被替換為鏈接文件了,它們的目標路徑分別指向Roboto-Regular.ttf和Roboto-Bold.ttf兩個文件,雖然不知道這樣做真正原因。但我猜想,Google創建鏈接文件的原因應該是為了保證兼容舊的Android版本系統程序,同時也是為了保證一些開發基於在安卓系統版本3.0以下的(包括3.0)平臺下的的應用程序能夠正確的調用系統字庫。
具體步驟如下:
一、首先更改系統文件要Root機器,具體方法“因機而異”,大家可以在網上搜索適合自己的機型ROOT的方法。
二、下載字體包,在網上搜索關鍵字,找到自己喜歡的資源後下載即可,在手機端用安裝字體管家下載字體也行。字體包分為“APK安裝型”,“TTF替換型”兩種。如果下載的為“APK安裝型”,那麼字體可以從安裝包內提取。部分手機不需要獲取Root也可以更改系統字體,比如:三星,可以用字體管家直接安裝字體包替換。
三、安裝Root Explorer,此軟件是由Speed Software開發的,Root Explorer是一款高權限文件管理器,獲取Root權限後對系統文件進行操作,正可謂手機ROOT後必備。
四、將字體包存放到手機SD卡內或存儲設備內。安卓系統版本在1.5 ~ 3.0的只需替換DroidSans.ttf(英文) 、DroidSansFallback.ttf(中文)即可。安卓系統版本在4.0 ~ 5.0的只需要替換Roboto-Regular.ttf(英文)、 DroidSansFallback.ttf(中文)即可。然後字體按照你手機的系統的版本,更改對應的字體名稱即可。注意,中、英文字體包不要搞混,否則替換字體後會導致字體出現亂碼。一般英文字體包所佔用的空間要比中文字體包小得多,這樣就很好區分了。
五、將字體包重命名後,打開Root Explorer,找到路徑/system/fonts,再把fonts目錄內要替換的字體更換名稱即可,不必要刪除,避免到時候想要更換為原來的字體沒轍了。可以任意命名,但在文件名稱合法且不衝突的前提下。例:“DroidSans.ttf ”可以重命名為“DroidSans.ttf .bak”。
六、先將RE管理器上的掛載為只讀按鈕點擊為掛載為讀寫後,再把之前準備好的字體複製並粘貼到路徑\system\fonts內,不然無法粘貼。
七、粘貼到Fonts目錄後,請務必記得更改字體的文件權限為rw--r--r--,否則會導致字體亂碼。可參照Fonts目錄內其他系統字體文件的權限設置(詳情請往下看)。更改完成確認無誤後,再重啟手機即可。
Android字庫權限:
Linux文件系統裡的文件都是有權限的,且與Windows文件系統裡的權限概念有一些區別。三個權限者,Owner, Group, World(Other),每人都有三項權限,分別是 Read(r), Write(w) 和 Execute(x) 。其中代表Read的數字為4,代表Write的數字為2,代表Execute的數字為1,這樣就可以用1-7的自然數還表示不同的權限。比如R+W就是6,R+W+X就是7,R+X就是5,等等。三個權限者分別排列,就有了755,777等這樣的代表權限組合的數字。
以上字庫的權限的權限都必須是rw--r--r--,這樣替換字庫後才會運行正常。一般在我們替換字庫前需要用root explorer查看被替換字庫文件的權限,替換後用chmod命令修改權限,這樣顯示才會正常。
關於Android lib文件:
有些字庫不僅需要替換字庫文件,還需要修改lib文件,比方說阿拉伯語,替換字庫後雖然可以顯示,但是阿拉伯語顯示的卻是確實假的,因為字庫的組合順序不正確。