,本實施例提供一種可選擇應用字體的Amlroid安裝裝置,如圖4所示,該 裝置包括:
[0037] 反編譯模塊,用于對待安裝的Amlroid安裝包進行反編譯,獲取所有可載入文字 和字符的控件,如圖5所示具體包括:
[0038] 解壓單元,用于對已拷貝入系統(tǒng)data/app目錄的An化oid安裝包進行解壓;
[0039] 布局文件解析單元,用于從解壓單元已解析出的文件中獲取布局文件;控件檢測 單元,用于從布局文件解析單元解析出的布局文件中檢測出所有可載入文字和字符的控 件。
[0040] 控件檢測單元,從布局文件中檢測可載入文字和字符的控件是指獲取格式為xml 的布局文件。
[0041] 字體選擇模塊,用于由用戶選擇一種字體作為待設置的字體屬性;字體選擇模塊 提供用戶選擇的字體為Amlroid系統(tǒng)自帶的字體。Amlroid系統(tǒng)中默認了S種字體分別為 "sans", "serif", "monospace",當然也可W通過其他方式加入更多的字體,本實施例僅 W運=種默認字體作為選擇項。
[0042] 字體設置模塊,用于對反編譯模塊所獲取的各個控件加入待設置的字體屬性;
[0043] 打包模塊,用于對各個控件已加入待設置字體屬性的An化oid安裝包重新打包。
[0044] 在現有的Amlroid安裝器中加入本實施例所述的裝置,用戶點擊apk后彈出安裝 應用界面,界面中呈現本裝置可選擇的字體選項,如圖6所示,用戶點擊其中一個字體風格 后,點擊確定進入應用的安裝流程。安裝中將An化oid安裝包apk復制至An化oid系統(tǒng) data/app目錄中,并進行解壓掃描,本實施例所述裝置在此加入。首先對剛剛復制到data/ app目錄中的Amlroid安裝包apk進行反編譯,反編譯后可得到應用包中所有的資源信 息,資源信息中包括應用包中的圖片資源,音頻資源,應用各界面的布局資源等,運些布局 資源Wxml格式的形式呈現。在反編譯Amlroid安裝包apk得到各界面布局文件后,通過Amlroid對xml布局文件的解析模塊解析檢索出所有布局文件中的可W載入文字,字符的 控件,如Button,TextView,EditView等,在所有檢出的控件中加入An化oid設置字體的屬 性如:amlroichtype化ce="字體的風格",此處的字體風格即為用戶選擇的字體風格如 "sans",應用中所有布局文件中的控件都加入了用戶選擇的字體風格后重新打包成apk, 對xml布局文件的解析目的就是將布局文件中的所有可W載入文字的控件提取出來,在得 到運些控件后在其中加入字體設置屬性重新生成xml布局文件,在后面通過重新將應用打 包成apk,此時應用中各個界面中的控件都加入了字體風格的屬性。隨后繼續(xù)應用的安裝流 程。當應用安裝流程結束后,用戶點擊進入應用,此時應用的各個界面的字體風格已經被設 定為用戶安裝此應用時選擇的字體。
[0045] 如用戶在安裝應用時選擇了 "monospace"字體風格,在An化oid安裝包apk中的 xml布局文件中有很多控件如TextView控件定義如下:
[0046]
[0047] 在解析xml布局文件后加入用戶自定的字體"monospace",即變成如下:
[0048]
[0049] 此時TextView控件中的"@st;ring/hello_wo;rld"字串都將Wmonospace的風格 顯示。
[0050] 實施例4,本實施例與實施例3的區(qū)別在于:控件檢測單元應用hierarchyviewer 工具從布局文件中獲取可載入文字和字符的控件。
[0051] 本實施例在An化oidSDK中提供hierarchyviewer工具,主要通過運個工具來索 引出界面中的各個控件布局和繼承關系。其作用與通過對xml布局文件的索引其實質同此 工具的作用是一樣的。本實施例其他部分的設置與實施例3相同。
[0052] 應當理解的是,對本領域普通技術人員來說,可W根據上述說明加W改進或變換, 而所有運些改進和變換都應屬于本發(fā)明所附權利要求的保護范圍。
【主權項】
1. 一種可選擇應用字體的Android安裝方法,其特征在于,包括: 對安裝目錄中的待安裝Android安裝包進行反編譯,獲取其中可載入文字和字符的控 件; 用戶選擇一種字體作為待設置的字體屬性; 對所述可載入文字和字符的控件加入待設置的字體屬性; 對經反編譯并已載入待設置的字體屬性的所述Android安裝包重新打包。2. 根據權利要求1所述的一種可選擇應用字體的Android安裝方法,其特征在于,對安 裝目錄中的待安裝Android安裝包進行反編譯,獲取其中可載入文字和字符的控件具體包 括: 對已拷貝入系統(tǒng)data/app目錄的Android安裝包進行解壓; 從已解壓的文件中獲取布局文件; 從所述布局文件中檢測出所有可載入文字和字符的控件。3. 根據權利要求2所述的一種可選擇應用字體的Android安裝方法,其特征在于,從所 述布局文件中檢測出所有可載入文字和字符的控件的方法為:從所述布局文件中檢測出格 式為xml的布局文件即為可載入文字和字符的控件。4. 根據權利要求2所述的一種可選擇應用字體的Android安裝方法,其特征在于,從所 述布局文件中檢測出所有可載入文字和字符的控件的方法為:用hierarchyviewer工具從 所述布局文件中獲取可載入文字和字符的控件。5. 根據權利要求1所述的一種可選擇應用字體的Android安裝方法,其特征在于,用戶 選擇一種字體作為待設置的字體屬性時是從Android系統(tǒng)自帶的字體中進行選擇。6. -種可選擇應用字體的Android安裝裝置,其特征在于,所述裝置包括: 反編譯模塊,用于對待安裝的Android安裝包進行反編譯,獲取所有課載入文字和字 符的控件; 字體選擇模塊,用于由用戶選擇一種字體作為待設置的字體屬性; 字體設置模塊,用于對所述反編譯模塊所獲取的各個控件加入所述待設置的字體屬 性; 打包模塊,用于對各個控件已加入待設置字體屬性的Android安裝包重新打包。7. 根據權利要求6所述的一種可選擇應用字體的Android安裝裝置,其特征在于,所述 反編譯模塊包括: 解壓單元,用于對已拷貝入系統(tǒng)data/app目錄的Android安裝包進行解壓; 布局文件解析單元,用于從所述解壓單元已解析出的文件中獲取布局文件; 控件檢測單元,用于從所述布局文件解析單元解析出的所述布局文件中檢測出所有可 載入文字和字符的控件。8. 根據權利要求7所述的一種可選擇應用字體的Android安裝裝置,其特征在于:所 述控件檢測單元從所述布局文件中檢測可載入文字和字符的控件是指獲取格式為xml的 布局文件。9. 根據權利要求7所述的一種可選擇應用字體的Android安裝裝置,其特征在于:所 述控件檢測單元應用hierarchyviewer工具從所述布局文件中獲取可載入文字和字符的 控件。
【專利摘要】本發(fā)明公開了一種可選擇應用字體的Android安裝方法和裝置,對Android設備中安裝器的工作流程進行設計,使得用戶可以在安裝應用時選定特定字體,其結果是被安裝的應用程序在安裝好啟動后呈現的字體為安裝時設定的字體。本發(fā)明的方法或裝置可以讓系統(tǒng)中所有的應用都有設置不同的字體,而每個應用中的不同字體是用戶在安裝時就設定好的,讓Android系統(tǒng)中的各個第三方應用豐富多彩且更具有個性。
【IPC分類】G06F9/445
【公開號】CN105183524
【申請?zhí)枴緾N201510639109
【發(fā)明人】陳樸
【申請人】上海斐訊數據通信技術有限公司
【公開日】2015年12月23日
【申請日】2015年9月29日