Androidデバイスにダウンロードしたアプリのデータを含めてバックアップを取得する

Android Development

この記事は公開されてから1年以上が経過しています。情報が古い可能性がありますのでご注意ください。

iOS デバイス(iPhone、iPad など)の場合、Mac もしくは PC に iTunes をインストールしていれば、iTunes により簡単にフルバックアップ、リストアを実施できますが、Android の場合は管理ツールがありません。フルバックアップを取得するアプリが Google Play 等で公開されていますが、Root 権限が必要であったり、操作がややこしかったりと慣れるのに時間が必要です。そこで、今回は Android の ADB(Android Debugging Bridge)と呼ばれるツールを使用してバックアップを取得する方法をご紹介します。

Android デバイスのバックアップ

Android デバイスのバックアップを取得するためには、Mac(もしくは PC)、Android デバイスそれぞれで準備が必要です。なお、指紋認証等を搭載している機器のセキュリティ情報はバックアップには含まれませんのでご注意ください。

Mac

PC もしくは Mac に ADB(Android Debugging Bridge)と呼ばれるツールをインストールします。Mac を使用している場合は、Homebrew を使用すれば簡単にインストールできます。ターミナルを開いて下記のコマンドを実行してください。インストール完了後に、ターミナルを再起動してください。

brew install android-sdk-tools

Android

続いて、Android 側の準備です。操作方法は機種によって異なりますので、詳細は各機種の取扱説明書をご覧ください。なお、設定の「開発者向けオプション」はデフォルトでは有効になっていないことが多いのですが、設定の「端末情報」の「ビルド番号」を数回タップすると表示される謎の仕様となっております。

設定の「開発者向けオプション」をタップします。

「開発者向けオプション」をチェックし有効にします。

「USB デバッグ」を有効にします。「USB デバッグ」とは Micro-USB⇔USB ケーブルを使用して、Mac または PC に Android デバイスを接続した際に、Mac 側から Android デバイスを操作するために必要な操作です。

最後に、「USB 設定」を「充電のみ」から「ファイル(MTP)」モードに変更します。通常、Android デバイスを Mac に接続した場合、Mac 側からの給電のみが有効になっています。USB 経由でデータのバックアップを取得するために、モードを「MTP(Media Transfer Protocol)」に変更します。

バックアップを取得する

続いて、Mac と Android を USB ケーブルで接続します。接続が完了したら、ターミナルを開いて以下のコマンドを実行します。

adb backup -f backup_20170716.ab -all -nosystem -apk -obb

コマンドのオプションについて説明します。

オプション 説明
backup adb コマンドを使用してバックアップします
-f バックアップファイルの作成場所のパスを指定します
-all すべてのデータをバックアップします
-nosystem システムアプリのデータをのぞいてバックアップします
-apk アプリケーションの apk ファイル(本体)をバックアップ対象に含めます
-obb アプリケーションがダウンロードしたデータをバックアップします

コマンドを実行すると、下図の画面が Android 側に表示されるため、「データをバックアップ」をタップします。なお、パスワードを設定しておくと、次回リストア時に指定したパスワードを使用しない場合、復元できなくなります。

バックアップからの復元

取得したバックアップから復元する方法は簡単です。前述の方法で Android 側の準備(USB デバッグ、MTP モードの設定)を実施し、USB ケーブル経由で Mac と接続します。接続したらターミナルから以下のコマンドを実行します。

adb restore <バックアップファイルの場所>

Android 側にバックアップ時と同様の画面が表示されます。バックアップ時にパスワードを指定している場合は、パスワードを入力しないと復元できません。なお、復元すると端末のデータはバックアップ時のデータにすべて上書きされますのでご注意ください。

Twitter Facebook B! はてブ
comments powered by Disqus