2018.3.24

ゲームアプリ「ねこあつめ」のデータ移行について(Android)

端末買い替えの際に発生するデータ移行作業ですが、スマートフォンが普及して一般的になった今、アプリ側でデータ移行に対応していないものなんてあるわけがない...と思っていたら、ありました。それもかなり有名どころのゲームアプリ「ねこあつめ」です。

3年くらい前に流行ったゲームアプリですが、データ移行について調べると当時からその問題があったようで、アプリを使ったデータ移行やadb(USBデバッグ)で行ったものなど、ゲームが流行ったこともあって結構沢山の記事が見つかります。

3年前からその問題があったのだったら、もう対応しているだろうと高をくくっていたら今もまだ対応していないらしく(多分、今後も対応しない気がします)、iPhoneならアプリ単位でのバックアップなんてものは不要なのかもしれませんが、私が利用しているのはAndroidなので継続して利用するならデータの移行は必須です。

正直、ほとんどプレイしなくなったのでデータ移行はしなくてもいいのですが、この「ねこあつめ」は帰省した際に甥っ子がやりたがるゲームの一つなので、できればこれまでのデータは残しておきたいところ。

ちなみにアプリをインストールしている端末はタブレットの「Nexus9」です。最近、Nexus9の動作が極端に不安定になったので、端末リセットを行うため、データ移行が必要になりました。

目次

  • データ移行
  • platform toolのダウンロード
  • アプリのバックアップ
  • アプリの復元
  • 失敗した原因の調査
  • 最後に

データ移行

今回試してみたデータ移行の方法はadb(USBデバッグ)を使った方法で、PC(今回はWindows)が必要です。

手順はだいたい以下の通り。

  • platform toolのダウンロード
  • USBデバッグをONにしたデータ移行”元”の端末とPCを接続
  • PC側でバックアップコマンドの実行し、端末側でバックアップの許可
  • USBデバッグをONにしたデータ移行”先”の端末とPCを接続
  • PC側で復元コマンドの実行し、端末側で復元の許可

詳しい手順を下記に掲載します。

なお、先に言っておくと、今回のデータ移行は『失敗』しました。なので、なにも考えずに下記の方法を同じように実行しようとすると私のように失敗してしまうので、注意してください。

platform toolのダウンロード

まず、adb(USBデバッグ)を使ったバックアップ・復元に必要な platform tool をダウンロードします。

ダウンロードしたら、圧縮ファイル(zip)を解凍して適当な場所へ配置します。

アプリのバックアップ

アプリがインストールされた端末のUSBデバッグをONにします。

ONにする方法は以下の通り。

  • 設定 > 端末情報 と遷移したら「ビルド番号」欄を複数回タップして「開発者向けオプション」を有効にする
  • 開発者向けオプションに「USBデバッグ」という項目があるのでONにする

USBデバッグをONにしたら、ケーブルでPCと接続します。

接続後、PC(Windows)のコマンドプロンプトを開いて、先ほどダウンロードして解凍したplatform tool配下へ移動し、以下のコマンドを実行します。

adb backup jp.co.hit_point.nekoatsume

コマンド実行後、USBで接続した端末側に以下のような確認画面が表示されます。

パスワードを入力して右下の「データのバックアップ」を押してバックアップに成功すると、コマンドを実行したのと同じ場所に「backup.ab」ファイルが作成されます。

アプリの復元

まずデータ移行先の端末に「ねこあつめ」アプリをインストールしておきます。

インストールしたら、端末のUSBデバッグを同じようにONにして、PCに接続します。

接続後、今度は以下のコマンドを実行します。

adb restore backup.ab

コマンド実行後、USBで接続した端末側に以下のような確認画面が表示されます。

バックアップ時のパスワードを入力して「データを復元する」を選択します。

問題なければ復元が完了しますが、入力したパスワードが間違っていた場合も同様の挙動だったので、成功したかどうかは実際にアプリを起動してみないと分からないです。

で、最初に言ったように、私の場合、上記の方法では正常に復元されませんでした。

復元する度にデータがリセットされ最初からという状況になるので、復元は成功しているがアプリ側で認識できるデータがない、といった感じなのだと思います。

失敗した原因の調査

上記の方法でちゃんと復元できるのか気になったので、手持ちの端末を使って簡単に試してみたところ、以下のような結果となりました。

バックアップした端末復元した端末結果
Nexus9(端末リセット前)Nexus9(端末リセット後)NG
Nexus9(端末リセット後)Nexus9(端末リセット後)成功
Nexus9(端末リセット後)P8liteNG
Nexus9(端末リセット後)LG G2 miniNG

AndroidバージョンはNexus9が「7.1.1」、P8liteは「6.0」、LG G2 miniは「4.4.2」です。

上記の結果を見る限り、タブレットやスマートフォン、さらにはAndroidのバージョンなどの違いも影響がありそうです。

不思議なのは今回一番最初にやった、端末リセット前と後でバックアップの復元ができなかった点。アプリを一番最初にインストールした時のAndroidのバージョンが「5系」だったので、もしかしたらインストールした際のバージョンが影響しているのかもしれません。

最後に

今回やって分かったことは「ねこあつめ」のデータ移行でadb(USBデバッグ)を使ったやり方だと、条件が結構シビアだということです。また、できるできないの条件が明確ではなく、実際にやってみないと分からないレベルなので、私のように端末リセットで試すことはオススメしません。機種変更や端末追加などで元のデータがちゃんと残った状態でやった方がいいです。

今回はそこまで重要なデータではなかったので仕方がないで済ませることができますが(甥っ子よ、すまん)、本当に消えてほしくない大事なデータを端末リセットでバックアップ・復元を行う場合、ちゃんと事前に復元可能かどうか確認してから行うか、同時に別の方法(アプリを使ったバックアップと復元など)もやっておくと、失敗する可能性が少なくなると思います。

アプリ・サービス】関連記事