Ⅰ 如何修改安卓的framework-res.apk
首先,我們要知道"framework-res.apk"是不可以重簽名的!(我們要切記這一點)另外,修改"framework-res.apk"之前務必先做好備份!這是相當重要的文件,稍有出錯都會令你進不了系統的!
這就是為什麼好多朋友編譯了framework-res.apk後自動重啟並且無限重啟的原因因為你只是替換而不是編譯步驟走少了所以也就出錯了
需要的環境
JDK這個不需要我解釋吧?
懂得編譯的都知道安卓是在java的環境開發那麼你要編譯一個程序必然不能離開JAVA
下面教大家如何搭建JAVA環境
下載下面這個文件然後安裝
http://dl.dbank.com/c0ypixiw9j
1.安裝JDK
雙擊打開剛剛下載的JDK安裝包,安裝目錄可以為任意,只要你記著就好,當然,C盤是比較好,但由於銘心也是一名程序員,裝了比較多開發相關的軟體及環境,因此裝在D盤
2.JAVA環境變數配置
安裝好JDK後,找到我的電腦,按右鍵,點屬性選項,按高級選項卡,點擊環境變數
Win7或vista為:計算機-屬性-高級系統設置-高級-環境變數
然後再用戶變數那裡新建3個環境變數
CLASSPATH:%JAVA_HOME%lib;
JAVA_HOME:JDK安裝路徑jdk1.6.0_18(安裝路徑就是你安裝JDK的位置)
PATH:%JAVA_HOME%in;
點擊確定退出編輯界面,再點擊確定,退出環境變數界面
3.驗證JDK和環境變數
這時按住鍵盤上win鍵(windows圖案按鈕)+R,打開運行,鍵入CMD
接著,看到黑色背景白色字的命令行界面,再鍵入:java–version(注意有一個空格)
若你看到以下內容,表明你JDK和環境變數配置成功,否則,請從第三步從新開始
javaversion"1.6.0_18"
javaSERuntimeEnvironment
javaHotSpotClientVM
確定以上步驟沒錯就可以開始下面的步驟了(一定要確定是否無錯不然下面的步驟無法進行)
先下載我們的重要工具:apktool
這是一個編譯,反編譯工具
此工具雖然操作會不如其他某些編譯工具簡單,但是修改框架文件,推薦使用這個!!!
接著我們就要進行提取framework文件了,用RE瀏覽器打開目錄/system/framework下,就會看到有"framework-res.apk"的文件了,直接把他復制到內存卡,然後放到電腦上准備對它進行開刀解剖!(當然,手機必須是已經Root了)
用apktool反編譯"framework-res.apk"
為了方便,建議先把這文件重命名為「f.apk」,在D盤根目錄下建立一個apktool的文件夾,把解壓好的APKTool.zip裡面的三個文件以及「f.apk」一齊放到D:apktool中
也就是說你的D盤apktool文件夾裡面有4個文件!!!
然後打開DOS界面就是開始-運行-cmd
接著輸入以下代碼(一個都不要錯不然無法編譯)
01D:
02cdapktool
03apktooliff.apk
04apktooldf.apkf
PS:d是反編譯命令後面的f表示生成文件名為f的文件夾(有的framework-res.apk文件無法編譯如果你看到出現一大串英文並且後面都顯示Unknownsource那麼說明你的framework-res.apk無法編譯只有換一個)
接下來窗口別關還用得上
這時你的D:apktoo目錄下就會多出一個名為f的文件夾,裡面放著就是反編譯出來的文件了
接下來的東西一定要仔細出錯就全盤白忙了
接下來把你要替換的圖標放到framework-res.apk裡面的res文件夾里(用壓縮軟體打開後直接把你要替換的文件丟進去替換了就是)
替換完了過後接著在命令提示符裡面輸入代碼
apktoolbf
重點又到了
這還沒結束不是說你替換了你就完事了NO!!!!!!
先搞清楚,我們現在有兩個apk文件,一個是編譯前的f.apk,一個是編譯後的f2.apk。
用壓縮軟體同時打開f.apk,f2.apk,是打開,而不是解壓(成功編譯之後,f文件夾就會多了個dist的文件夾,裡面放的就是編譯好的文件,同樣命名為f.apk的,我們為了區分,先把他重命名為f2.apk
)
細心觀察,會發現編譯後的f2,少了一個META-INF的文件夾,這個其實就是apk包的簽名所在,但是這框架文件是不能簽名的,所以,我們才要進行下面的步驟
我們需要把兩類文件從f2.apk拉到f.apk中替換,
第一類是:剛才反編譯後,你所替換過,或者修改過的所有文件
第二類是:resources.arsc這一個文件
所有文件一個都不能替換少了
PS:記得要放到相同的目錄下哦!!
PSP:我們最後要的是f.apk這個文件!!!
替換好後,我們可以把f.apk重新命名為「framework-res.apk」,然後放回到內存卡上。
然後,用RE瀏覽器把「framework-res.apk」復制到/system目錄下,然後,長按文件名選擇許可權,具體許可權修改如下圖(RE管理器掛載為讀/寫)許可權設置211
修改好確定後,再把「framework-res.apk」剪切到/system/framework目錄下,選擇替換原文件,再次確認許可權是否有誤!
PS:一定要修改好許可權後才能放進/system/framework,不然系統會馬上掛掉的!!
最後就是重啟手機,一陣心跳過後,深呼吸一口氣,順利進入系統了!!!!
<轉>