2013年4月26日 星期五

Android 手機備份 by adb (非root)

1. Ubuntu 連上 Sony Xperia J
  用 root 加個 file /etc/udev/rules.d/51-android.rules 加一行
  SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", GROUP="plugdev"  # 0fce 是 Sony-Ericsson

2. adb devices : 列出連結的 android device
   手機要開啟 debug 選項

3. adb shell : 可以連進 android, 使用 command

4. adb pull /sdcard/DCIM ./tmp/pictures
   把照片目錄整個 copy 成 PC 上的 tmp/pictures

5. adb push CJDXG /sdcard/EBAndroid/CJDXG
   把 CJDXG 拷到 EBAndroid 下

6. 備份
   adb backup apk -shared -all -f ./mybackup.ab
   出現這行:“Now unlock your device and confirm the backup operation”--意思是去手機上,設密碼及允許備份
   然後,等等等.....幾十分鐘後,備出一個1.3G的 file
   ---------------
   adb backup apk -noshared -all -nosystem -f ./backupNoSystemNoSdcard.ab
   noshared/shared 要不要備 sdcard 裏的, 據說 shared 並不會把 sdcard 真的全都備起來
   nosystem/system 要不要備份 system ap
   這樣備出來是 107M (這時手機用一個多月)
  

7. 還原
   adb restore ./mybackup.ab

8. 把 ab 解成 tar -- 以便看裏面的內容
   解說:http://nelenkov.blogspot.tw/2012/06/unpacking-android-backups.html
   下載 source https://github.com/nelenkov/android-backup-extractor

   好像有現成的執行檔可以用,不過我一開始沒找到,所以很辛苦的自己 compile,這不管執行或comile都需要 JDK 7, ubuntu 10.04 居然沒有 JDK 7 可用,只好上 Oracle 抓

   它裏面附的 abe.sh 用起來不對勁,我自己試出是
   java -cp ./lib -jar lib/abe.jar unpack xx.ab xx.tar

沒有留言:

張貼留言