不過還是給一些不知道的人做使用 希望這樣能幫到想備份但卻不想解鎖+ROOT的使用者
OK 這邊我先說明一下
這個功能是搭配adb一起使用 是ICS(也就是4.0)開始才有的功能
只要系統是ICS以上的版本 不管是哪支手機都可以支援
此外還可以備份手機的儲存空間資料和SD卡資料哦~
前提是adb版本至少要1.0.28以上 在這之前的由於都沒寫入ICS附加的指令 因此指令會無效
附加壓縮檔: ADB 1.0.39封包
對了 若真的不是很懂的話 我做了一個批次執行檔 用它也可以輕鬆備份及還原
就不用再往下看打指令的部分 若想要進階一點就往下看 不用理會這個批次檔
附加壓縮檔: 包含bat批次檔的封包(2017/8/26更新)
此次更新ADB套件至1.0.39版
另外~請各位有問題請直接回覆 請不要回覆+站內信 或是只寄站內信給我
因為我都會注意討論串的回應 而且這樣也能給有相似問題的使用者一個找到解答的地方
因此 若是寄站內信問我 我都不會回覆(這點再三聲明!!!)
否則~~~我可能就會AU2BL(Add User to Block List 加入使用者至黑名單)囉
==========================================================================
注意事項:(7/29更新)
1. 本方法雖然可以備份"部分"的系統資訊(比如 小工具配置 桌布設置 快捷設置 聯絡人資料 等)
但此舉牽涉到系統程式 還原時可能會出問題 因此非常不建議備份系統設定
2. 有些APP的資料不會備份到 原因可能是設為不同路徑或是APP本身有限制
(若遇到這問題 有可能APP的資料檔是存放在SD卡上 可參考最底下的說明)
3. 部分手機無法使用本方法(請參考這裡)
4. 從Play商店購買的APP並不會備份起來(APK部分)
(5/7更新)不過付費APP的資料是會備份起來的 詳情請點我
5. 建議先將移動到SD卡(手機儲存空間)的APP移回到內部(系統)儲存空間
以避免發生APP檔案或是資料備份不到的問題
==========================================================================
以下是指令教學(只用批次檔的不用看下去 照批次檔上面的去做即可)
新的adb增加了一個名為backup的指令 就是我們本次的重點
而它所能用的指令大概是這樣
adb backup [-system|-nosystem] -all [-apk|-noapk] [-shared|-noshared] -f <檔案名稱>
看起來很複雜對不對? 下面我會一一解釋上面這些標有顏色的指令是有什麼用途
[-system|-nosystem]
這個指令是告訴adb 在備份時是否要連同系統一起備份
若沒有打的話 預設是-system 表示會一起備份系統
注意!若連系統一起備份 在還原的時候會覆蓋系統檔案 對於已經升級後的手機是非常不好的
我不知道在沒有ROOT的情況下 adb是否有權限去還原系統檔案 但就算如此 還是不建議這樣做
因此 -nosystem是建議一定要打上的指令
-all
這個指令除非只是要備份單一APP 不然是一定要打上去的
這個是問你是否要備份全部的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
這個我會在後面實作的部分會再做說明
看了這麼多 應該還是有些人不太知道要怎麼打吧?
那麼我就來實作一下
================================================================================
備份
(1/10補充)
這邊要先說明 由於有些電腦並非使用原生USB3.0 而是使用獨立的晶片 並非由晶片組直接提供
因此有時adb會因此無法連線或是傳輸上出問題
所以 請連接USB2.0或是連接原生的USB3.0
首先請確定已經有安裝手機驅動(特別強調! 至於手機驅動哪找 看你是哪家手機就去哪家的官網找)
接著請連上手機 確定USB偵錯模式是否有啟動
(註:USB請設定為充電模式或MTP模式 請勿設定成磁碟機或網路分享!)
接下來就可以直接使用backup指令了
比方說我要備份APK資料 要連同APK一起 不要去備份SD卡或外存 不要去備份到系統APP
且我要指定檔案名稱為test 並存在D槽的話 那麼指令就是
adb backup -apk -all -nosystem -f "D:\test.ab"
注意1:檔案路徑和檔名若有空格 請記得路徑要框「"」
例:-f "D:\phone backup\htc j.ab"
否則會有問題
注意2:若輸入指令後沒出現備份畫面或是adb顯示錯誤訊息 有可能是adb沒抓到手機
請使用adb devices指令來看adb是否有抓到手機
一但指令輸入後 會顯示這樣的字串
並且手機上會出現這樣的畫面
這個會要你輸入這個備份檔案的保護密碼 你可以選擇不輸入 好了之後就按"備份我的資料"
再來就慢慢等它備份啦~ 備份的過程中 手機畫面會出現正在備份的APK及資料
備份完後就會自動跳出程序 並且看看D槽
檔案就會存在我所指定的路徑底下了
=============================================================================
還原
既然已經備份好了 那之後要怎麼還原呢?
這時候就要使用另一個指令 adb restore
我還是以剛剛的test.ab檔案為例 那麼打的時候就輸入
adb restore "D:\test.ab"
輸入後 手機就會出現這畫面
打入你的手機密碼以及你的封包所設定的密碼(假如有的話)
就會開始做還原的動作 而且它會依據一開始備份時存放的路徑下去還原
等到還原成功後 就可以去看看APP是否都回來了 也可以檢查遊戲存檔或是設定那些是否還在
==============================================================================
進階作法及額外注意事項
個別程式備份方法
有不少人問我如何備份單個APP就好了 其實方法也很簡單
難就難在得找出APP的物件名稱
什麼是物件名稱? 簡單來說物件名稱才是屬於APP真正的名稱
由每一個APP開發者(或開發商)所自己定義的Java package名稱
別忘了 Android的應用都是由Java寫出來的 如果有寫過Java的話應該對package不陌生
至於我們一般看到的APP名稱都是另外再加上去的
比如 從iOS移植到Android上的免費遊戲之一 Temple Run
它表面名稱雖然就叫Temple Run
但它實際的物件名稱為 com.imangi.templerun
而不要以為這就是基本的格式了(什麼前面一定是com之類的)
這個完全是由開發者自行定義
OK 這樣大概就了解了吧? 不過要怎麼去看物件名稱?
基本上一般的應用程式管理員和工作管理員都是沒辦法看到物件名稱的
需要安裝類似APK管理器之類的軟體(像是超級管理器) 才可以知道每個APP的類別名稱
特別注意!類別名稱是有大小寫區分的 請仔細查看 以免備份出問題
若知道了物件名稱後 指令要怎麼打呢?
我們這邊就以Temple Run為例 adb指令就要打成:
adb backup -apk com.imangi.templerun -f "D:\test.ab"
這邊說明一下 由於只是備份單一APP的資料 因此不需要加-nosystem -all -noshared等全域指令
只需要這樣簡單打就可以了 而依照你的喜好 想連APK一起備份就加-apk
輸入完後 手機會再度出現與上頭一樣的畫面 只要按一下備份 就會把指定的APP給備份下來了
----------------------------------------
資料另外的儲存位置
有些APP資料或是遊戲存檔 並不一定會存在放手機內部的儲存空間
有可能會存放在SD卡或是手機的使用者儲存空間
目前已經知道 像是TempleRun SubwaySurf 以及LINE
他們的紀錄都是存在SD卡或是手機儲存空間上
至於怎麼找他們 只要到SD卡(使用者儲存空間)裏頭看 會有一個Android資料夾
裡面有一個data資料夾 就是檔案的存放之處 只要備份下來就可以了
但要注意的是 若在備份之前就移除程式
那麼該資料也是會從儲存空間上移除的
這點還請注意
----------------------------------------
使用鈦備份還原
這是我找資料的時候無意間發現的 其實鈦備份也支援使用adb備份出來的資料
只要版本是5.6以後的就行了
因此 也可以使用鈦備份進行還原的動作 缺點是本身需要root 而且必須是專業版才支援
----------------------------------------
ab備份檔解壓方法
終於有了可以將ab檔解壓縮和重製的方法啦~ 點連結就可以過去看了
請點我觀看
是不是很簡單呢? 總比還要大費周章地去解鎖 刷ROOT 還要簡單
祝各位備份愉快~
附加壓縮檔: 201708/mobile01-7e632e50e846aca95122386afb252931.zip