什麼是ODEX?
ODEX是安卓上的應用程序apk中提取出來的可運行文件,是通過apk安裝包的中的dex優化過的,再把apk包裡的dex文件刪除。
這樣做可以加快軟件的啟動速度,預先提取,減少對RAM的占用,因為沒有odex的話,系統要從apk包中提取dex再運行。
什麼是dalvik-cache?
當Android啟動時,DalvikVM監視所有的程序(APK文件)和框架,並且為他們創建一個依存關系樹。DalvikVM通過這個依存 關系樹來為每個程序優化代碼並存儲在Dalvik緩存中。這樣,所有程序在運行時都會使用優化過的代碼。這就是當你刷一個新的ROM時,有時候第一次啟動 時間非常非常長的原因。當一個程序(或者框架庫)發生變更,DalvikVM將會重新優化代碼並且再次將其存在緩存中。在cache/dalvik- cache是存放system上的程序生成的dex文件,而data/dalvik-cache則是存放data/app生成的dex文件。
准備工作:
用Recovery進行一個備份,預防出現意外,不能開機。
請確定你的電腦可以正常連接手機調試模式。
請確定你的system有10~20M空余。
說明:
Android系統中運行的程序包主要分framework,system/app,data/app,三個路徑,開機的時候啟動內核後,就會逐個啟動framework裡的jar框架程序,再啟動system/app的開機自啟程序。
如果你想把整個ROM都odex化,就必須先將framework的先做,因為在odex過程中,需要依賴framework進行。而且在 odex framework時,每個文件都要嚴格按照順序,否則不能開機。如果你在其他app做了odex,Sorry,你不能odex framework。
下載附件解壓,執行odex.bat,選在你想要的操作,如果你想將整個ROM odex化,必須先選擇framework,然後system,data,如果你不想odex framework,可以直接跳過,但是你以後都不能odex framework。
【更新】
odex framework更新自動刪除dex文件。
這個腳本更新可以重復使用,也就是你odex一遍後,自己添加了apk或者二級框架程序(jar,譬如google.map.jar),可以使用這個腳本單獨對這些odex,不會影響其他已經odex的程序。
完成會自動重啟,開機時系統應該會自動刪除cache分區的dex文件的,然後再重啟一次的,沒刪掉也不要緊,因為這個腳本也會幫你刪除,直到你能開機,才把這個CMD窗口關閉。