2012年2月1日 星期三

Android進行ODEX讓手機更流暢

進行ODEX可以讓系統運行得更順暢
像是me600這種沒有很给力的手機就需要odex一下
雖然會增加ROM的體積
但是流暢才是王道啊~~~

第一種方法<<無法完整odex整個ROM,只能對system&data下的app odex
確定手機有打開USB Debugging,並且用RE管理器將/system調整至"讀寫"
執行APKOpitimize出現下圖


 如果出現的是亂碼請用Applocale選用<簡體中文>(如果你"使用者名稱"為中文ex:小明,就不能在Applocale下直接運行,要跳出Applocale後再亂碼的時候才可運行)
------------------------------------------------------------------------------------------------------------
1.會將system進行odex

2.會將data進行odex

3.安裝新的程式或者是有些程式有做過更新就用

4.要反ODEX的話就用這個,會把所有dex刪除

5.有移除過程式或更新就用他會把殘留的舊檔案移除,避免浪費空間

------------------------------------------------------------------------------------------------------------


odex後須注意,鈦備份將無法完整備份你的程式(他只會備份APK....)
要鈦備份的話先用4反odex備份完再用1、2 odex一次

以上是參考http://bbs.hiapk.com/thread-1356211-1-1.html



第二種方法
此方法會移除原apk的classic.dex並重新打包這樣能減少所佔的空間


ODEX分三大部分
1.framework
2.system/app
3.data/app&app-private

一、ODEX framework

先使用他所提供的"複製文件.bat"(此動作會將dexopter、dexopt-wrapper 複製到/system/bin/並且修改權限至4755)
之後在windows下cmd裡面輸入  (先將adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll放入c:\windows\system32裡面)
  • adb shell
  • su
  • cd system/framework
  • dexopter fr

會將dex提取出來,重新開機一次,如果不能開機則進入Recovery清除cache,還是不行就用Recovery還原吧......
開機以後會發現/system/framework 目錄下出現許多odex檔,用RE管理器把裡面所有的jar複製到SD卡上(framework-res.apk不用管它),再用電腦WinRAR把每個jar裡面的classes.dex一個個刪除,之後再用cp指令把修改好的jar丟回去,以下的範例是把jar全部複製到/sdcard/system/framework下


------------------------------------------------------------------------------------
可用"ls -al 路徑"  >來查看各檔案的權限以及大小
cp -r /sdcard/system/framework /system/ >>將修改好的jar複製過去(先用RE管理器掛載成可讀寫)
chmod 644 /system/framework/*  >>更改權限
reboot
------------------------------------------------------------------------------------
沒更改權限的話,會卡在開機動畫無限重啟

二、ODEX App
打開提供的"一键odex.bat"選擇 1 他會把system/app進行odex重開機以後就搞定了,之後再選擇2他會把data下所有app都進行odex


如果你安裝的app很多,或是突然用鈦備份還原一大堆程式,第一次在開機動畫那邊會卡大約10多分鐘(只要沒有莫名重啟都OK),如果超過20分鐘那就.....recovery吧= =


進行完ODEX後桌面部件或捷徑會無法正常顯示
移除掉再新增就好
第二種方法參考http://bbs.lewaos.com/thread-11680-1-1.html
----------------------------------------------------------------------------------------
兩種方法各有優缺點
第一種方法對於以後安裝新的程式處理較方便
而第二種對於空間上較節省
所以打算兩種方法都使用
簡單的說就是

第一次進行odex時用第二種方法
之後如果有安裝新的程式就用第一種方法處理!!!


---------------------------------------------------------------
2012/2/20更新
如果覺得在後續進行ODEX每次都會很麻煩可以用下列方法


執行上面第一個程式的時候可以去C:\Users\使用者\AppData\Local
找到dexopt-wrapper、newapk.sh、delisolateodex.sh三個文件
在SD卡新增一個資料夾odex

刪除剩餘的odex
先用RootExplorer將/system調整為讀寫

執行模擬終端輸入下面指令

  1. cp /sdcard/odex/isolateodex.sh /system/app/ 
  2. chmod 0777 /system/app/isolateodex.sh
  3. busybox sh /system/app/isolateodex.sh

對新安裝的APK進行ODEX
執行模擬終端輸入下面指令

  1. cp /sdcard/odex/dexopt-wrapper /system/app/
  2. cp /sdcard/odex/newapk.sh /system/app/
  3. chmod 0777 /system/app/dexopt-wrapper
  4. chmod 0777 /system/app/newapk.sh
  5. busybox sh /system/app/newapk.sh

可以將以上指令做成腳本,這樣就更方便了

沒有留言:

張貼留言