[轉]Android 免ROOT! 使用adb來備份手機程式(ICS以上限定)

來源:http://www.mobile01.com/topicdetail.php?f=566&t=3019116&p=1

我知道我這篇 不少已經知道的高手大概都知道了
不過還是給一些不知道的人做使用 希望這樣能幫到想備份但卻不想解鎖+ROOT的使用者



OK 這邊我先說明一下
這個功能是搭配adb一起使用 是ICS(也就是4.0)開始才有的功能
只要系統是ICS以上的版本 不管是哪支手機都可以支援
前提是adb版本至少要1.0.28以上 在這之前的由於都沒寫入ICS附加的指令 因此指令會無效


附加壓縮檔: ADB 1.0.29封包


對了 若真的不是很懂的話 我做了一個批次執行檔 用它也可以輕鬆備份及還原
想要進階一點就往下看吧
包含bat檔的壓縮包




注意!
1. 此方法不能備份聯絡人、簡訊、通話紀錄
2. 此方法不能備份相關的系統設定
(比如 小工具配置 桌布設置 快捷設置 等)
3. 由於Sony把這功能拿掉了 因此這方法不能使用在SE手機上




至於怎麼使用這指令呢?
新的adb增加了一個名為backup的指令 就是我們本次的重點
而它所能用的指令大概是這樣


adb backup [-system|-nosystem] -all [-apk|-noapk] [-shared|-noshared] -f <檔案名稱>


看起來很複雜對不對? 下面我會一一解釋上面這些標有顏色的指令是有什麼用途




[-system|-nosystem]
這個指令是告訴adb 在備份時是否要連同系統一起備份
若沒有打的話 預設是-system 表示會一起備份系統
注意!若連系統一起備份 在還原的時候會覆蓋系統檔案 對於已經升級後的手機是非常不好的
我不知道在沒有ROOT的情況下 adb是否有權限去還原系統檔案 但就算如此 還是不建議這樣做
因此 -nosystem是建議一定要打上的指令




-all
這個指令是一定要打上去的 問你是否要備份全部的APP 若有加上-nosystem的指令
那麼他就只會備份你目前已經安裝上去的APP 而不會連系統APP一起備份




[-apk|-noapk]
預設是-noapk 這個的意思是是否連安裝的APK一起備份
若為-noapk 則只會備份APK的資料檔(像是遊戲存檔 設定 之類的)
但我會建議連APK一起備份 因為這樣才不會有版本衝突的問題




[-shared|-noshared]
預設是-noshared 這個會問你是否連手機儲存空間或是SD卡的檔案一起備份
我是不知道若有APP安裝在SD卡上的時候 沒打這指令是否會略過
但若大部分的APP都安裝在內務空間的話 這個就可以不用打了
(註:HTC有保留一個名為com.android.sharedstoragebackup的APK
這個APK會將SD卡或是手機空間的資料都備份 因此除非使用-nosystem指令
否則對於HTC手機來說 不管有無打-shared 手機空間的資料一定會備份)




-f <檔案名稱>
這個是指定備份完之後 要存在電腦的哪個地方
不過記得要打檔名 而副檔名則一定要打.ab
這個我會在後面實作的部分會再做說明










看了這麼多 應該還是有些人不太知道要怎麼打吧?
那麼我就來實作一下


備份
首先請先連上手機 確定USB偵錯模式是否有啟動 確定之後
先輸入adb devices來確定adb是否能找到你的手機
(註:USB請設定為充電模式 請勿設定成磁碟機!)


若有找到 接下來就可以直接使用backup指令了


比方說我要備份APK資料 要連同APK一起 不要去備份SD卡或外存 不要去備份到系統APP
且我要指定檔案名稱為test 並存在D槽的話 那麼指令就是



adb backup -apk -all -nosystem -f D:test.ab





一但指令輸入後 會顯示這一的字串



並且手機上會出現這樣的畫面



這個會要你輸入這個備份檔案的保護密碼 你可以選擇不輸入 好了之後就按”備份我的資料”
再來就慢慢等它備份啦~ 備份的過程中 手機畫面會出現正在備份的APK及資料
備份完後就會自動跳出程序 並且看看D槽



檔案就會存在我所指定的路徑底下了






還原
既然已經備份好了 那之後要怎麼還原呢?
這時候就要使用另一個指令 adb restore


我還是以剛剛的test.ab檔案為例 那麼打的時候就輸入



adb restore D:test.ab





輸入後 手機就會出現這畫面



打入你的手機密碼以及你的封包所設定的密碼(假如有的話)
就會開始做還原的動作 而且它會依據一開始備份時存放的路徑下去還原
等到還原成功後 就可以去看看APP是否都回來了 也可以檢查遊戲存檔或是設定那些是否還在






打了這麼多 雖然已經知道的人大概又會跟我說OP了
不過我猜其實不知道這件事情的人應該有不少 就讓不知道的人知道一下唄~

未經允許不得轉載:GoMCU » [轉]Android 免ROOT! 使用adb來備份手機程式(ICS以上限定)