Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Apktool(4)——實戰篇:修改小米桌面,apktool實戰篇

Apktool(4)——實戰篇:修改小米桌面,apktool實戰篇

編輯:關於android開發

Apktool(4)——實戰篇:修改小米桌面,apktool實戰篇


准備工作:

1.下載對應手機型號線刷Rom包,進入小米官網Rom下載頻道

2.解壓下載下來的Rom包,並用Rom助手提取出system.img中的文件內容。這方面的文章很多,請參考Rom助手如何提取IMG文件

3.找到跟小米桌面相關的apk——/system/priv-app/MiuiHome.apk(5.0及以上系統是在MiuiHome文件夾下的MiuiHome.apk)

實戰篇:

1.嘗試反編譯MiuiHome.apk,具體可參考:Apktool(3)

2.步驟1會提示需要依賴的framework文件,這裡依賴文件是/system/app/miui.apk

運行:apktool if miui.apk –t xiaomi

該命令只需執行一次,以後再次反編譯時會到默認路徑下去load依賴文件。其中-t參數是給依賴文件加標識。

3.再次反編譯MiuiHome.apk,運行:apktool d –cf MiuiHome.apk –t xiaomi

則會得到MiuiHome文件夾。

image

4.修改桌面

盡管已經反編譯了MiuiHome.apk,但想要修改桌面,必須找到直接關系到小米桌面的配置文件。那麼桌面的配置文件在哪裡呢?

我在Apktool(2)中介紹了res目錄則是程序中所有的資源文件,顯然,我們需要在該目錄下尋找。

小米手機首次啟動,會加載哪個配置文件呢?結論是:res/xml/default_workspace4x5.xml(4列5行桌面圖標)

image

該目錄下有這麼多配置文件,怎麼知道啟動加載的是該文件呢?具體可參考:http://forum.xda-developers.com/showpost.php?p=40167735

由此可得出結論:如果我們不希望手機啟動時加載該文件也可以修改res/values/integers.xml文件中的config_cell_count_x和config_cell_count_y

image

(未驗證,讀者可自行驗證)

知道關系到小米桌面的關鍵配置文件,那我們就可以通過修改該配置文件來修改桌面了。(該配置文件部分如下)

image

#1.幾個關鍵詞

folder代表文件夾,該默認桌面有兩個文件夾。

launcher:title為文件夾的名稱,前面com.miui.home:string/是固定的,告知系統從該位置下加載配置文件。

launcher:screen為桌面的屏數,默認第一屏launcher:screen=0,後面以此類推。

launcher:x和launcher:y分別代表列號和行號,默認都是從0開始編號的,如第三行第四列,則launcher:x=3,launcher:y=2。

clock2x4為系統加載的系統時鐘。

favorite為程序(apk)的快捷方式。

launcher:className為apk的類名,launcher:packageName為apk的包名。對於獲取類名和包名,後續博文會介紹,請關注。

#2.修改favorite

顯然,我們可以通過修改launcher:x和launcher:y來調整apk的位置,launcher:screen來修改apk該放在哪一屏。

#3.修改folder文件夾

同樣,可以通過修改launcher:x和launcher:y來調整文件夾的位置,launcher:screen來修改文件夾該放在哪一屏。

這裡還需要說明的是:

1)怎麼定義文件夾的名字?

系統加載的中文名字的配置文件是res\values-zh-rCN\string.xml,可以看到系統默認加載的兩個文件夾的名字為“系統工具”和“推薦”。

image

因此,我們可以在這裡修改文件夾名字,或者增加自定義的文件名。

2)怎麼添加程序apk到文件夾?

image

launcher:container為文件夾的id,默認從1開始編號。

通過觀察launcher:x和launcher:y,我們發現y是固定不變,x從0開始編號,這樣,添加進文件夾的apk快捷方式就會從左到右,從上到下依次排列。

#4.修改hotseat

hostseat為如圖所示apk

image

查看配置文件:

image

可以看到launcher:container定義為-101,launcher:y固定不變,launcher:x從0開始編號。這樣也可以對其進行相應的修改。

5.編譯

至此,我們通過修改配置文件修改小米的桌面了。

最後,我們必須反編譯修改後的文件,生成修改後的apk。

運行:apktool b -cf -t xiaomi MiuiHome -o out\MiuiHome.apk

image

這樣,我們就編譯生成了修改後的apk了。

疑問:1.怎麼獲取apk類名和包名呢?

        2.怎麼刷入修改後的apk系統到小米手機呢?

        3.通過rom助手解開的system.img,怎麼打包生成img文件呢?

請持續關注博客更新。

參考文獻:

1.http://forum.xda-developers.com/showpost.php?p=40167735

2.Rom助手如何提取IMG文件:http://www.yzmg.com/news/show-89909.html

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved