ローカルにセーブデータがあって新しいスマホにバックアップできない時の対処方法【簡易説明】 | Hello_World_StandBy_v2
お久しぶりです。ぎんこです。テスト超辛いです

個人サークルも立ち上げようとHTML組んでたりするんですが

スマホ壊れました_:(´ཀ`」 ∠):_

先日スマホの液晶が大破して綺麗なクモの巣状のヒビが画面中に広がってしまいまいした・・・w

下のほうのタッチ反応があまりに悪いので交換してもらい、そろそろバックアップとろうかなー

なんて思ってたのですよ。

大抵のアプリは保存データいらずでアカウントさえあれば大丈夫なものばかりで、

黒ウィズは専用のクラウドにデータが存在してたのでバックアップできました。そこまではよかった。

で、問題のアプリが「メタルスラッグ ディフェンス」というタワーディフェンス型のゲームなんですが、これ、google+でアカウント取るんでバックアップ取れると思ってたのです。

なので

・googleプレイからMSDをダウンロード

・google+でアカウント再度認証

してみたところ

ん?・・・イントロとチュートリアル始まったぞ・・・?データがバックアップされてない・・・??

完全に最初からで購入したアイテムも綺麗さっぱり消えてました^^;

そして公式に行ってみたところ



あっ・・・


そりゃダメだわ。これローカルのどっかにセーブデータ保存してるな・・・?

と思い色々いじくりまわしてPC側からファイルとか見てたんですが表示されるのは写真データくらい。スマホ側からファイルマネージャーで見ても初期インストール用のapkファイルくらいしか見つからない。ショップに持っていっても「当方でもデータ移行は赤外線通信でできる範囲でしかできないんですよね~...」
OMG

ということで自力でバックアップしようとしたところが以下のものになります。
多分どうということはないでしょうが、色々インストールしたりするので自己責任でお願いします。多分知ってる方もいると思いますし。


まず参考にしたサイトはこちら。

Androidのアプリとデータをバックアップ・移行する方法(root不要)
http://www.teradas.net/archives/6686/

adb(Android Debug Bridge)を使うまで
http://nmarket10.blogspot.jp/2013/04/adbandroid-debug-bridge.html

Androidアプリとか作りたいかな
'adb'は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。
http://d.hatena.ne.jp/sivaken/20110327/1301235349




まず筆者の環境から
・PC(Windows7 Home Premium 64Bit)
・スマホ(2台ともHTCJ バタフライ) Androidのバージョンは4.1.1

用意するもの
・USBケーブル(通信用)
・データ元スマホと移行先スマホ
Android SDK



サイトにもありますが
・バックアップ元と復元先が両方ともAndroid4.0以上であること
・同一機種でなくとも可能
・この方法ではroot化していなくてもOK。(筆者は結局root化についての知識なしでできた)
Android SDKインストール済みのPCが必要
・使っているAndroid機種用の
adbドライバがPCにインストール済みでAndroid SDK内部のadbコマンドが使える状態であること
・一部プロテクトがかったアプリはバックアップ・移行できない。
・Android2.3以前は非対応。Android4.0以上にデータ引継ぎしたままあぷうでーとすれば可能な機種もある?

らしいです・w・


1からということでまず
1.(Android4.2以降の場合のみらしいですが)「開発者向けオプション」を出す
これは「設定」の中に「開発者向けオプション」という項目があるのでそれを開き、
開発者向けオプションをONにした後、デバッグの項目にある「USBデバッグ」にチェックを入れます。このとき何か表示がでても大丈夫です

2.バックアップしたいアプリのパッケージ名を調べる


Google Playでアプリを検索し、URL内の「id=xxx.xxx.xxx」のうち「xxx.xxx.xxx」がアプリのパッケージ名となります。

今回メタルスラッグディフェンスのURLは
https://play.google.com/store/apps/details?id=com.snkplaymore.android003
なので
com.snkplaymore.android003」がアプリのパッケージ名です

3.Android SDKの導入
PCにあるコマンドプロンプトから「adb」を入力するんですが、初期状態だと
'adb'は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と表示されてしまうのでここで導入が必要となります。

まず、Android SDKをダウンロードする必要がありますので、
サイトにて青い「Download Eclipse ADT with the Android SDK for WIndows」をクリックしてダウンロードしてください。
中のzipファイルが解凍できましたら、フォルダ名を「android-sdk」に変更してCドライブなどのホームディレクトリに移動してください。
自分はこんな感じにしてます


次にSDK Managerを開いて「Tools」の「Android SDK Tools」「Android SDK Platform-tools」などがあればいいと思うので「Tools」にチェックをいれて「Install ○(数字) packages...」をクリック
新しいウインドウが開いてLicenceがどうたら、とか英語で書かれていますが
「Accept Licence」にチェックをいれて「Install」ボタンをクリックします

次にPath設定。
コントロールパネルを開いて「システム」を選択。
左のメニューの4つめくらいに「システムの詳細設定」があるのでそれをクリック。
下のほうに「環境変数(N)...」があるのでそれを選択。

「新規」より変数名を「PATH」、変数値をAndroid SDKをインストールしたフォルダのアドレスを指定します。このときadb.exeファイルがあるフォルダを参照してください!
自分だとC:\android-sdk\platform-toolsになりました。

これにて導入は完了です!
いよいよバックアップの開始です。

4.バックアップ(データ移行元スマホから)
データを保存してある前のスマートフォンにPCと通信用USBケーブルで繋ぎ、
コマンドプロンプトを立ち上げて以下のコマンドを打ってください

adb backup -f 【バックアップ先ファイル名】 -apk 【アプリのパッケージ名】


自分の場合こうなりました

バックアップ先ファイル名は○○.abであれば○○の部分は自由に設定してもらって大丈夫です。アプリのパッケージ名は2.でやったパッケージを入力してください。

※注意点
・adb.exeの場所はAndroidSDKの「platform-tools」ディレクトリ内
・この場合バックアップファイルはカレントディレクトリ内に作られる
・バックアップファイルが空(サイズが0KB)でないか要確認。0KBのときはバックアップパスワードを設定するとよい、との報告があるそうです。
・重要データは「別端末への復元」でバックアップ確認。別端末がない場合は、他の適当なアプリで予行演習

次にスマートフォン(データ移行元)側でフルバックアップという画面が出ているので「データをバックアップ」をタップ。(このときパスワードは空でも大丈夫でした)

5.復元(データ移行先スマホへ)

最後にデータ移行先のスマートフォンへ通信用USBを繋ぎ、PCのコマンドプロンプトから「adb restore」コマンドで復元します。

以下のコマンドを打ってください

adb restore 【復元元ファイル名】
自分の場合は
adb restore msdata.abでした(´w`)
これでさっきと同じ
Now unlock your device and confrm the restore operation 
と表示されると思うのでまたデータ移行先スマートフォンの画面に同じような画面が出るので
パスワードが空のときは空で、パスワードをさっき入力したのなら入力したものを再度入力して「データを復元」をタップしてください。

これで完了です。

色々なサイトを参考に試してみたのでこの文章よりもそちらのサイトのほうがいいと思いますが、本ブログで少しでも楽にバックアップできたら御の字です。

他にも当初はHeliumを使ってバックアップをしようとしましたがエラーしかでなくて使える代物ではなかったのでこの方法を取りました(´w`;)難しいね

ありがとう、対処方法を掲載してくれた方々・・・





<15年10月14日追記>
新しい記事にもある通りスマホがまた壊れたので再度チャンレンジ。
追記として新古両方ともデバッグモードで。SIMカードの有無はあまり関係なかった( 'ω') 
自分は今回新しい方のスマホの開発者モードの起動を忘れてました^^;
ただそれを忘れて後からデバッグモードにしてもドライバのインストールなどでしばらく待たないとnot foundとか言われたり。

コマンドとしてはちゃんとインストール先が間違ってなければディレクトリ移動とかは無しでいける、というかデフォルトのC:\【ユーザー名フォルダ】\で行けましたね。
コマンドとしては
   古:adb backup -f  (•ᴗ•)好きなファイル名(•ᴗ•).ab -apk  (•ᴗ•)GooglePlayのID(•ᴗ•)

 →古スマホの許可クリック
 →新古スマホの繋ぎ換え作業
 →新:adb restore
 →新スマホの許可クリック
みたいな感じ。コマンドのコピペはさっき確認したら全角スペース混じってたからエラー起こると思うので修正しますた。まだ残ってるかもしれないので注意

ただ今回はどうも元ファイルが破損していたようで音が鳴らなかったり画面が崩れたりで少し困ってましたが、「音声ファイルの再ダウンロード」という項目がアプリ内にあったおかげでなんとか正常起動できるようになりましたヾ(⌒(ノ'ω')ノ