2015年11月3日火曜日

adb 1.0.32 では、adb backup が正常動作しない。 (バックアップできない)

症状

  • adb backup コマンドで、不正な (中身が空っぽの) バックアップファイル (backup.ab) しか出力されない。(正常動作しない) 厳密には、41バイトのファイルが出力される。

    また、logcatを確認すると、不審なログが出力されている。
    たとえば「adb backup -all」を実行した場合には、下記のエラーログが出力される。

    W/BackupManagerService( 510): Unknown package '-all', skipping

    ログを見る限りでは、adb backup の引数がうまく処理されていないように見える。

  • PC: Windows 7 Pro (64bit)
  • Android: Nexus 7 (2013), Android version: 4.3
  • Android: Nexus 5, Android version: 4.4

2017-05-14 追記

  • 当事象は、Android 4.x (4.0 ICS(14) ~ 4.4 KITKAT(19)) で発生する模様。
    少なくともエミュレータ上は、Android 5.0 (LOLLIPOP(21)) 以降では発生しなかった。
  • また、Windows以外の環境では、挙動が異なる可能性あり。(未確認)

解決方法

もし使用しているadbのバージョンが「1.0.32」なのであれば、代わりに「1.0.31」を試してみると良い。

当方の環境では、「adb 1.0.32」はNG (上記の症状)、「adb 1.0.31」はOK だった。

adbのバージョン確認方法

adb version」で確認できる。

C:\>adb version
Android Debug Bridge version 1.0.32
Revision eac51f2bb6a8-android

ちなみに、「adb 1.0.31」の場合は、下記の結果となる。

C:\>adb version
Android Debug Bridge version 1.0.31

「adb 1.0.31」の入手方法

http://dl-ssl.google.com/android/repository/platform-tools_r20-windows.zip


参考

4.4 kitkat - ADB backup creates 0-byte file; prompts for current backup password even though I never set one; "Failed to set password" for Desktop backup password - Android Enthusiasts Stack Exchange での、Kevinoid さんの回答。