はしくれエンジニアもどきのメモ

情報系技術・哲学・デザインなどの勉強メモ・備忘録です。

Androidアプリ単体をadbでバックアップ/リストアする

Androidアプリ単体をadbでバックアップ/リストアする

Androidアプリ単体をadbでバックアップ/リストアするメモ.

Android SDK Platform-Tools内のadbコマンドを使うとアプリ単体または全部のバックアップ/リストアが可能になる.

※なおadb backupadb restoreは将来的にdepricate予定になっているので使う場合は注意. 代替コマンドの予定もない?

環境

  • Windows10 ver2004(OSビルド 19041.330)
    • Android SDK Platform-Tools Version 30.0.4-6686687
      • Android Debug Bridge version 1.0.41

adbとは

adbはAndroid Debug Bridgeの略.

Android SDK Platform-Toolsを導入すると cmdからadbコマンドが使えるようになる.

その中でもadb backupadb restoreが使うとAndroidスマホ内のアプリのバックアップ/リストアが可能になる.

Android SDK Platform-Toolsの導入

AndroidStudioをインストールしてる場合はSDKManagerで管理して導入できる.

コマンドだけ使いたい場合は,以下からダウンロードできる.

SDK Platform Tools release notes  |  Android Developers

インストーラでなくzipファイルなので展開して好きなところに置いてPATHを通しておけば導入できる.

例:

  • 配置::C:\platform-tools
  • PATH:
    • 変数名ANDROID_SDK_PLATFORM_TOOLS:値C:\platform-tools
    • 変数名Path: %ANDROID_SDK_PLATFORM_TOOLS%

adb.exeの確認

バックアップ前の準備

  • PC接続用のUSBケーブルの準備
  • Android端末の開発者向けオプションを有効にする.
  • 開発者向けオプションから"USBデバッグ"を有効にする

Androidの開発者向けオプションを有効にする

  1. 設定>システム>端末情報>ソフトウェア情報>"ビルド番号"まで開く
  2. "ビルド番号"を7回ほど連続でタップする.

これで開発者向けオプションが有効になる.

"USBデバッグ"を有効にする

  1. 設定>システム>"開発者向けオプション"を開く
  2. デバッグ項目の中の"USBデバッグ"を有効にする.

adbコマンドの使い方

adb <subcommand>

で使う.

ex.

adb devices
adb backup
adb restore

複数端末ある場合はadb devicesでデバイス番号を調べて -sオプションでデバイス指定する.

adb -s <devices id> <subcommand>

ex.

adb -s emulater-5554 backup

アプリのバックアップをとる

adb backupでバックアップを取れる. オプションなどもメモしておく.

流れとしては

    • PCとAndroidをUSBで接続する
    • Android側で「USBをファイル転送に使用しますか?」で「はい」を選択
    • adb backupコマンドでバックアップをとる
    • Android側でバックアップの許可(confirm)をする.

Android側でconfirm

adb backupコマンド

基本的な使い方は以下になる. アプリ名を指定する場合package名を使用する(ex. com.xxx.yyy).

adb backup <package name>

以上のコマンドでアプリのAndroid/dataファイルが含まれる. 他のファイルを含める場合は以下のオプションで指定する.

オプション - -apk: apkファイルを含める - -obb: obbフォルダも含める - -shared: SDカード内データも含められる.主にスマホ内のアプリ全データのバックアップを取るときに使用する. - -f: ファイル名の指定.xxx.abなどとする.

参考:

ex.

adb -s XXX backup -app -obb -f file.ab com.squareenix.adventures

コマンド実行後にAndroid端末側でバックアップを実行するかダイアログが出るので許可する.

バックアップを取ったアプリをリストアする

リストアする端末とPCをUSBで接続しておく.

cd <バックアップファイルのある場所>
adb restore file.ab

backupのときと同様にAndroid端末側でリストアするか聞かれるので許可する.