2012/03/23

(Android4.0以降限定)adb backupを利用してみた!


root 不要の完全なバックアップ・リストア方法 - コムギドットネットさんから知った情報です。



Android4.0から追加された新機能で、”adb backup””adb restore”というコマンドがあります。


コマンドの詳細は以下の通りです。
  • adb backup [-f <file>] [-apk|-noapk] [-shared|-noshared] [-all] [-system|-nosystem] [<packages...>]
    - write an archive of the device's data to <file>.

    If no -f option is supplied then the data is written to "backup.ab" in the current directory.
    (-apk|-noapk enable/disable backup of the .apks themselves in the archive; the default is noapk.)
    (-shared|-noshared enable/disable backup of the device's shared storage / SD card contents; the default is noshared.)
    (-all means to back up all installed applications)
    (-system|-nosystem toggles whether -all automatically includes system applications; the default is to include system apps)
    (<packages...> is the list of applications to be backed up.  If the -all or -shared flags are passed, then the package list is optional. Applications explicitly given on the command line will be included even if -nosystem would ordinarily cause them to be omitted.)
  • adb restore <file>
    - restore device contents from the <file> backup archive

これにより、デバッグモードで接続するだけで、アプリ&アプリ内の設定をバックアップすることができます。


当方でも人柱がてら早速試してみました。
  1. 開発者向けオプション→USBデバッグにチェックをいれる
  2. GalaxyNexusをPCに接続する(必要に応じてドライバをインストール)
  3. コマンドプロンプトを起動し、adb devicesと入力して端末が認識されているか確認する。
  4. adb backup -apk -shared -allと入力する
  5. 端末側で復元用のパスワードを入れてバックアップをする
  6. 10分ほど放置すれば、バックアップファイルが作成されます
    ここで、-sharedと入力したにもかかわらず、バックアップされたファイルの容量が120MBほどだったので、アプリのみバックアップされて、SDカード内はバックアップされていないものと思われます。
  7. 端末をオールリセット
  8. セットアップ後、自動的にアプリインストールが走るので、マーケットから一旦全て中断する
  9. デバッグモードで接続する
  10. adb restore (バックアップしたファイル名) と入力する
  11. 端末側で、5.で入力したパスワードを入力してリストアを実行する
  12. 10分ほどで終了する

一度試しただけなのですが、いくつか気づいた点を。
  • 全てのアプリがリストアされなかった
    →当方では、かけ~ぼ、ES File Explorer、Apps Organizer等がリストアされませんでした。原因は不明です。App List Backupなどを利用してアプリリストを作成しておいたほうがいいかもしれません。
    →一部リストアされなかったアプリは”Protected”なアプリでした。ただ、Protectedではないアプリも一部リストアされなかったので、原因はよくわかりません。後日再度試してみます。
  • ホームに配置したWidgetは再配置されない
    →一度ホームのWidget(エラー表示される)を全て削除して、ホームアプリを再起動したほうがいいと思います。リストア後はADW EXが酷く不安定でした。
  • -sharedしたにも関わらず、sdcard領域がバックアップされない
    →これは原因不明ですが、GalaxyNexusにSDカードスロットが無いからかもしれません。sdcard領域は手動でバックアップ/リストアしましょう

と、一度試しただけですが、こういった不具合がありました。参考までに。


<追記>
上記の不具合は処理が終了する前にバックアップを終了してしまったために発生したようです。
後日再度試したところ、sdcard領域を含め、全てバックアップ・リストアされました。

キャリア端末では"-system"は推奨しません。
INFOBAR A02にてadb backup/restoreを利用する時の注意点メモ参照
<追記ここまで>


不満は少し残りましたが、Twiccaや2chmate、ジョルテなど再設定が面倒で、設定のバックアップが取れないものまで、10分程度でリストアしてくれるのはすばらしいですね!

Root権限を取得できれば、Titanium Backupで同じことができますが、いずれガラスマがICSへアップデートされた時のことを考えると嬉しいですよね♪


 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Blogger Templates
Related Posts Plugin for WordPress, Blogger...