#この記事に書かれていること
Androidのadb backupがうまくいかない時の対処法
#発生事態
先日、Android N Previewが降ってきたということでバックアップを取ろうと思い、adbコマンドをッターンしました。が、いつもどおり Now unlock your device and confirm the backup operation.というコメントは出るものの、一瞬で終了してしまいました(当然バックアップは取れていない)。
#状況確認
adbのその他のコマンドは普通に使えるので、adb shell logcat | grep backup
などのコマンドでログを確認。するとこんな記述が。
W bu : Unknown backup flag -all:-apk:-system:-noshared:-obb
-all
も-apk
も-system
も-noshared
も-obb
もすべて正しいオプションで間違いありませんが、「そんなコマンドは知りません」と跳ね返されてしまいます。
ここで僕の環境を書いておきます。
PC OS | Ubuntu 15.04 |
adb version | 1.0.31 |
Android OS | Android 6.0.1 |
Android device | Nexus 6 |
#結論
結論は超簡単。
オプションをすべてシングルクォーテーションで囲めばOK。
adb backup '-all -apk -system -noshared -obb'
また、以下のようにスペースをエスケープしてもOK。
adb backup -all\ -apk\ -system\ -noshared\ -obb
これで一応バックアップは取れます。
#残る問題
なぜかファイル名の指定ができないです。-f filename.bac
などとオプションを指定しても、デフォルトのファイル名である backup.ab ファイルとして保存されてしまいます。
この問題が発生している方は、古いバックアップファイルが上書きされてしまう可能性があるので、新しくフォルダを作り、その中で作業するのが安全かと思います。
#その他調べたこと
調べたところによると、 adb version 1.0.32 はバックアップが取れないバグがあるようです。ブログなどでは 1.0.31 にバージョンを落とすよう指示されていることが多いと思いますが、僕の環境ではそれでも当記事のように対処しないと上手くいきませんでした。