山寨安卓手機, 買了一個星期, 見沒有退貨換機的必要, 便忍不住 "Root" 了. 最忍不住的, 是內置了硬要進入 Great Firewall 的 UC Browser 7.9, 和大陸"安卓市場", 鏟不走, 而且一開機便見有個 process 在, 不知有否做些壞事.
Root 機的原理和方法, 網上大量資料, 不重覆了. 我使用最流行的 SuperOneClick, 它 Root 成功後問你要不要裝 Busybox, 答是, 便沒煩惱了.
值得一提是, Root 機後做 Factory Reset, 也仍在 Rooted 狀態的.
然後要搞事, 先要明白 Android 系統分區和一些 folder 的用法.
基本出廠把內存分了 /system, /data, /cache 3 個 partition, 而一般顯示 free storage 是指 /data 剩量, 所以買機說有 512M ROM, 卻見到少很多. 就我部機來說, /data 全區約是 230M, 剩量當然更少了.
/system 是放置 Android 系統和出廠時內置的軟件, Factory Reset 也不會改變的部份. 特別要知道的是 /system/app 就是放內置軟件的地方.
/data 是用家開始使用後, 安裝軟件和放置資料的地方. /data/app 就是用家安裝軟件的放置地, 更新內置軟件也放這裡, 因為 /system/app 是不會被更改的. Factory Reset 時整個 /data 會被清洗後重新設置.
還有一個重要地方是 /data/dalvik-cache, 往往是整個 /data 中最佔位的 folder, 需要了解.
/cache 是 boot 機時會清洗重置的地方, 是系統暫存區.
再述 /data/dalvik-cache, 是把每個安裝的軟件 (APP) 的 .apk 檔案解壓、優化後建立一個 .dex 檔案放在這裡, 以便執行時用的. 每個在 /system/app 和 /data/app 的 .apk 都會在這裡找到一個 .dex, 如果鏟走了便不能運行. 但在 boot 機時, 會自動檢查如果缺了, 就再建立, 如果有了或多了, 則不會理. 所以可以放心鏟.
內置的軟件如 Market, Google Maps 時有更新, 會在 /data/app 放置加了 -1 -2 -3 之類 suffix 的 .apk, 並在 /data/dalvik-cache 中建立相應的 .dex, 但舊版的 .dex 不會刪除, 所以在更新後內存少了很多, 很浪費, 這只有 root 了機才有辦法.
明白以上結構後, 有玩電腦經驗的朋友已經可以摺起衫袖開始搞事了.
搞事工具可以用免費軟件 Root Browser Lite.
小弟如何搞? 後文再談.
2012-01-18
Subscribe to:
Post Comments (Atom)
好文章!
ReplyDelete我算是個 application programmer
唔董 結構 你多寫 我多學
受教 受教