Android端末をバックアップ・リストアする(2)

http://d.hatena.ne.jp/kinneko/20170209/p1
続き。

N5: 端末データのフルバックアップ

N5のほうのデータとアプリをまるごとバックアップしておく。
システムアプリを含んだバックアップと、含まないバックアップがあるので、容量差を見てみた。

$ adb backup -apk -shared -all
$ ls -lh backup.ab
-rw-r----- 1 kinneko staff 1.2G 2 9 11:36 backup.ab
$ mv backup.ab backup.ab.in_system

$ adb backup -nosystem -apk -shared -all
Now unlock your device and confirm the backup operation...
$ ls -lh backup.ab
-rw-r----- 1 kinneko staff 907M 2 9 11:43 backup.ab
$ mv backup.ab backup.ab.ex_system

$ ls -lh backup.ab.*
-rw-r----- 1 kinneko staff 907M 2 9 11:43 backup.ab.ex_system
-rw-r----- 1 kinneko staff 1.2G 2 9 11:36 backup.ab.in_system

N5: 写真とダウンロードデータのバックアップ

FileTranspherを使ってバックアップしておく。

N5->N5X: 端末データの移行

N5Xで"使ってみる"ボタンを押す。
SIMカードの挿入画面が出てきたけど、今はないので"スキップ"。
N5Xへようこそ画面になる。データのコピーを選ぶ。
ネットワーク接続をはじめるので、"セットアップ時にネットワークを使用しない"を選ぶ。ダイアログが出るが"続行"する。
ここで、アカウント設定の同期したものを使うか、BTとWiFIを使って端末間のデータ移行はできるのだけど、アプリの設定は引き継がれないのでパス。パスワードを忘れてしまったサービスなど調べるのもめんどくさいので一括移行がいい。
日付と時刻を設定する。
名前はそのまま"次へ"を押す。
指紋によるロック解除も使わないので"スキップ"する。警告が出るので再度"スキップ"。
Googleサービスが出るので、これは各自判断でオンオフを選んで先へ。
その他の設定項目で、メールアカウントなどの設定が出るが、これも飛ばして"設定を完了"を押す。
最終調整を行っていますと出て、ホーム画面になる。"ようこそ"と表示されている。
設定を開き、端末情報のビルド番号を数回タップして、開発者モードをオンにする。
1つ戻って、開発者オプションからUSBデバッグをオンにする。PC側に接続していると、そのまま許可ダイアログが出るので許可する。
adb devicesコマンドで端末が表示されるのを確認する。

$ adb restore backup.ab.ex_system
Now unlock your device and confirm the restore operation.

端末側で、完全な復元画面になって、パスワードを求められるけど、パスワードは設定していないので、そのまま"データを復元する"ボタンを押す。
しばらく待つ。
端末側に"復元が終了しました"というトーストが出て終わり。
しかし、アプリは何も出てきていない。デフォルトの33アプリのみ。
再起動する。
引き継げてない... orz

もともとN5Xに入っててバックアップしたアプリをリストアしてみる

$ adb restore com.kinneko.jago360.ab
Now unlock your device and confirm the restore operation.

リストアされてない...
特にエラーも出てないのだよね。

しょうがないのでアカウント移行手順に従う

念のため、N5のほうでバックアップとリセットで、データのバックアップをオンにしておく。
N5でWiFiBluetoothをオンにする。
N5Xは再度初期化。WiFi設定を行うと、アップデートを確認中のあと、データの引き継ぎ画面になる。
"Androidスマートフォンからのバックアップ"を選ぶ。
設定から付近の端末を選べと表示が出るが、N5のほうにはそういう設定はない。
N5のポップアップで"新しいAndroid端末のセッ..."というのが出ているので選ぶ。
スタートガイドの画面が出る。次へを押す。
端末のリストが出る。N5Xの表示と同じものを選ぶ。端末に接続していますの後、コードの確認で6桁のアルファベットが出る。
N5X側で同じコードが表示されていたら、N5側で次へを押す。
他の端末へコピー画面が出る。コピーボタンを押す。なんか一瞬でコピー出た。不安。たぶん、アカウントしか投げてなくて、あとはクラウドバックアップでやる気のようだ。
N5X側ではパスワード入力画面が出ている。Googleアカウントのパスワードを入れる。
パスワードが違うと出る...
長期で変更されていないパスワードは、変更しないと認証されないようだ。警告もなにも出ないとは...
別端末からパスワードを変更して、認証は通った。
アプリのダウンロードがされている。
ホーム画面の構成は維持されているようだ。

移行できなかったもの

chromeのブックマークのバックアップないな。
この手順では、有料アプリはリストアされないようなのだけど、これは使ってないので問題ない。
adb経由で直接入れたアプリは移行されない。めんどくさいことだ。
GooglePlay開発者サービスは、同意なしには更新されなかった。
twitterアプリもアプリ認証が必要だった。
Slackアプリも認証が必要だった。
ホームアイコンの電卓アプリが引き継がれなかった。
音量の定位置は引き継がれなかった。
Ingressのアカウントは、GooglePlay Engineからのアカウント引き継ぎを受けたようだけど、COMMの距離が200kになってた。
ポケモンGOは、生年月日からはじまったので、めんどくさいからそのままアプリ削除した。
Slackもログインからになっている。
モナコインアプリ消えた。当たり前か。コインの情報も引き継げない。
ハングアウトの履歴も引き継げていない。
血圧記録アプリのデータも引き継げていない。
Bluetooth系アプリの接続情報も引き継げていない。
テザリングの設定も引き継いてない。


端末移行は、なんでこんなに面倒な仕様なんだろう。
Googleもっとちゃんと考えてほしい。
アプリデータとかクラウドへのバックアップ使っても、ほとんど同期できないで新規設定だし、引き継げないデータ多すぎだし。
ローカルで入れたアプリは移行できずに再インストールになるし。
ひどい。

Google的には、設定はfirebaseに入れておけや!ってことかもだけど。