Android端末・APKのバックアップ
端末本体やアプリのバックアップを取りたい場合、バックアップ専用のアプリやソフトウェアを使う手もありますが、adbのbackupを使ってもバックアップはとれます。
使い方はバックアップを取りたい端末をUSB接続して次のコマンドを打つだけです。
C:\Users\xxx>adb backup -apk -all
するとAndroid端末側で次のような確認ダイアログが表示されます。(Galaxyの場合)
「データをバックアップ」をタッチするとバックアップが開始されコマンドを実行したフォルダにbackup.abというファイルが作成されます。パスワードは必ず設定する必要はありません。
ただ、バックアップを取る過程でエラーが出ることもありますが、それは気にしなくてもいいです。(数十回エラーが出ることもあります。)
もし端末全体でなく、アプリ単独でバックアップを取りたい場合は次のコマンドを打ちます。
adb backup -f myapp.ab -apk com.example.myapp
com.example.myappがバックアップするアプリのAPKです。これを実行するとmyapp.abというアプリのバックアップファイルが出来上がります。
ただし、アプリのAndroidManifestにandroid:allowBackup="false"が設定されている場合はAPKのバックアップはとれません。
APKのバックアップが取れない場合、-apk オプションを外すとアプリの設定(データベースやプリフェレンス、内部データ)のみが保存されます。
バックアップの復元
バックアップファイルの復元も簡単で次のコマンドを打つだけです。
adb restore backup.ab
するとバックアップの時と同様にAndroid端末で次の確認ダイアログが表示されます。
「データを復元する」をタッチすると復元が始まります。アプリ単体についても同様です。
バックアップの中身をPCから確認するには
バックアップファイル(.ab)はAndroid Backup Extractorというソフトを使うと展開できます。次のURLからツールがダウンロード可能です。
http://sourceforge.jp/projects/sfnet_adbextractor/
ダウンロードしたものを解凍するとabe.jarというjar形式のファイルがありますが、これがabファイルをtar形式に変換するツールです。
tarファイルを生成するには次のコマンドを打ちます。(abe.jarをパスに追加しておいてください。)
C:\Users\k>java -jar abe.jar unpack backup.ab backup.tar [パスワード]
これでbackup.tarが生成されるので好きなように中身を見ることができます。また、パスワード部分は設定してある場合だけ入力してください。
アプリ単体のバックアップファイルについても同じようにしてください。