私はadbバックアップで何が間違っていたかわからないので、皆さんからの助けが必要です。
ルートなしでSamsung Galaxy S3 LTE(GT-I9305)をバックアップしたい。グーグルで検索したところ、SDK Managerを使用したフルAndroidバックアップが見つかりました。 Java Development Kit 8 version 66(JDK 8u66 x64)やSDK Managerを含むAndroid Studioなど、これに必要なものをすべてインストールしました。それから悲しいことに、Google USB Driverをダウンロードする必要があります。ダウンロードしましたが、何も起こりませんでした。今は動作するはずだと思ったので、C:\ Users\MYNAME\AppData\Local\Android\sdk\platform-toolsに移動し、Shiftキーを押しながらadbを左クリックしました。次に、「ここでコマンドウィンドウを開く」をクリックしました。この後、「adb devices」と入力すると次のようになりました。
接続されたデバイスのリスト
3204cfaaf8611199デバイス
次に入力しました:
adb backup -apk -shared -all -f C:\Users\NAME\backup.ab
と言いました
デバイスのロックを解除し、バックアップ操作を確認します。
これを行うと、スマートフォンで「フルバックアップ」が開かれ、バックアップ用のパスワードを設定することができました。パスワードは必要ないので、[データのバックアップ]をクリックしました。ホーム画面に戻り、トーストメッセージとして[バックアップを開始しています...]と表示され、この直後に[バックアップが完了しました]と表示され、 40バイトのバックアップファイル。今何をすべきかわかりません。
古いバージョンのadbを見つけようとするよりも、adb backupの引数に引用符を追加する方が簡単です。
adb backup "-apk -shared -all -f C:\Users\NAME\backup.ab"
adb
を正しく呼び出す行は、私の側では次のように見える必要があります。
adb backup "-apk -obb -shared -all -system" -f phone-20180522-120000.adb
この行はLinux用ですが、WindowsとOS-Xでも同様です。 Linux(およびおそらくOS-X)の場合、次のようなスクリプトを使用して、自動的にファイルにタイムスタンプを割り当てます。
adb backup "-apk -obb -shared -all -system" -f "${PHONE:-phone}-`date +%Y%m%d-%H%M%S`.adb`"
重要バックアップを行った後、データを確認してください!私の側では、ファイルの破損が表示される場合があります(
adb
でこのようなエラーのみを監視しているため、私のコンピューターではないのではないかと思います)。以下は、私が使用する
check
命令です。set -o pipefail for a in *.adb; do echo "$a"; dd if="$a" bs=24 skip=1 | zlib-flate -uncompress | tar tf - >/dev/null; echo "ret=$?"; done
ret=0
と表示されるはずですが、表示されません。
inflate: data: invalid code lengths set
が表示される場合、アーカイブが破損しており、おそらく復元に使用できません。tar: Unexpected EOF in archive
が表示される場合、おそらくバックアップは使用可能です(すべてのバックアップはこの方法で終了しますが、理由はわかりません)。ret=0
だけが表示される場合でも、未検出のエラーが存在する可能性があり、それでも復元が妨げられます。- バックアップの正確さを確認するために、
adb verify
コマンドが完全に欠落しています!
他のすべての回答は役に立ちましたが、最後の詳細まで正確ではないため、この更新を投稿します。 (完全引用符で使用すると、バックアップが行われましたが、backup.ab
と呼ばれます)
私の環境は次のとおりです。
完全な手順は次のとおりです(万が一、誰かがこれに必要なものを知らずにつまずいた場合に備えて):
adb
をインストール(Ubuntu:Sudo apt-get install Android-tools-adb
)adb devices
を実行します-XXXXXXXXXXXX unauthorized
のようなものが表示されますOK
をタップできないことに注意してください。まず、妨害ウィンドウを移動します。adb devices
を実行します-XXXXXXXXXXXX device
のようなものが表示されるはずです。Android_SERIAL=XXXXXXXXXXXX
を設定することです。)上記のようにadb backup
を実行します。ファイルを必要に応じて変更します。
ノート:
adb help
は、adb backup
に可能なすべてのオプションを表示します明らかにadb backup
はすべてを完全にバックアップするわけではありません!
バックアップ(cd X && dd if=../XXXX.adb bs=24 skip=1 | zlib-flate -uncompress | tar xf -
)を調べましたが、インストールされているすべてのアプリケーションが見つかりませんでした。
私が見つけることができたのは、このリストが不完全であることに注意してください:
shared/0
shared/1
apps/
-多くのアプリ(Google認証システムなど)がありませんでしたapps/com.Android.providers.calendar/db/calendar.db
(おそらく)私が見つけることができなかったもの(このリストは不完全であることに注意してください):
share/1
。たとえば、SDに移動したアプリなど)結論:
adb backup
が破損したバックアップを作成する場合がありますが、これは見過ごされる可能性があります。そのため、バックアップを確認するか、頻繁にバックアップして、すべてのバックアップが破損しないように十分に幸運なふりをしてください。adb backup
を使用すると、カメラ画像などの貴重なデータのほとんどのバックアップを取得できます。ただし、開梱するのは少し難しいかもしれません。adb backup
は、電話の完全なバックアップを行うのに十分ではありません。adb backup
は、SDカードをバックアップするのに十分ではないため、破損した場合は、復元された内容で新しいものに置き換えることができます。これは非常に悲しいです!PS:「 Forth 」というタイプミスは偶然ではありません。
PPS:zlib-flate
はUbuntu 18.04のパッケージqpdf
にあります
これは、Ubuntu 15.10(「wily」)を使用して動作し、Androidバージョン6.0.1を実行しているGalaxy SM-G900Vをバックアップします。
を使用してインストール:
Sudo apt-get install Android-tools-adb
次に、コマンドラインから次のコマンドを実行しました(「Sudo」なし)。
adb backup -apk -shared -all -f backup.adb
結果:
user@hostname:~/droid$ ls -lah
total 1.2GB
drwxrwxr-x 2 user user 4.0BK Mar 6 18:43 .
drwxr-xr-x 52 user user 4.0KB Mar 6 17:40 ..
-rw-r----- 1 user user 1.2GB Mar 6 18:29 backup.ab
「NG」ありがとう。私は自分の電話がひどくなっていると思い始めていました。
追加を忘れた:adbバージョンの実行:Android Debug Bridgeバージョン1.0.31
問題は、お使いのPCのadbバージョンです。 adbversion 1.0.31を使用すると、バックアップ/復元が成功します。
詳細: https://Android.stackexchange.com/questions/83080/adb-backup-creates-0-byte-file-prompts-for-current-backup-password-even-though および SDKバージョンのダウングレード方法
デバイスに1.0.31より前のadbバージョンがある場合は、PCで1.0.31のadbバージョンを使用する必要があります。 adb 1.0.32+のバージョンは、後方互換性を破壊しました。出典: 問題208337
すべてのアプリをバックアップできるわけではないようです。 Android明らかにアプリによるバックアップの無効化を許可:(
https://developer.Android.com/guide/topics/manifest/application-element.html (allowbackupを検索)
誰かがまだ問題を抱えている場合に備えて-Windowsでは、ディレクトリのみを引用符で囲んでいます。たとえば、「C:\ Users\NAME\backup.ab」は機能していました。