2

更新: OK、10 時間が経過したので、両方のデバイスで同じコードを再度実行しています。驚くべきことに、バックアップと復元の操作が正常に実行されているようです。今日は私にとって良い日になるに違いない。

バックアップと復元のシナリオを再現するために使用した手順は次のとおりです。

1) Eclipse でリリース キーを使用してバックアップ アプリの APK をエクスポートしました。
2) Desire S と Galaxy S2 の両方でバックアップ アプリをアンインストールしました。
3) バックアップを無効にしてから再度有効にして、両方のデバイスのすべてのバックアップ データを消去しました。
4) Desire S を USB デバッグに接続し、「adb shell bmgr list sets」で自分のアカウントに復元セットが保存されていないことを確認しました。
4) USB から Desire S を取り外し、バックアップ アプリをインストールしました。
5) backupmanager.datachanged() メソッドを呼び出すバックアップ アプリを実行します。
6) USB デバッギングで Desire S を接続し、「adb shell bmgr run」を実行してバックアップ操作を強制的に開始しました。
7) 「adb shell bmgr list sets」で復元セットが作成されていることを確認しました。
8) Galaxy S2 にバックアップ アプリをインストールすると、Desire S で作成されたバックアップが自動的に復元されます。

特にバックアップ操作を強制していない場合は、この手順を確実に再現できるかどうかをさらにテストします。


Android デバイス上の小さなファイルをバックアップおよび復元できる単純なバックアップ プログラムを作成しています。必要なものはほぼすべて完了しており (カスタム BackupAgent の作成など)、バックアップと復元の操作は同じデバイスでスムーズに実行されます。

しかし、2 つのデバイス間でバックアップと復元を実行しようとすると、つまり、1 つのデバイスでバックアップを行い、別のデバイスで復元しようとすると、復元操作は単純に失敗しました。作成したバックアップを認識しませんでした。次に、両方のデバイスで同じファイルをバックアップおよび復元しようとしました (ただし、ファイルの内容は異なります)。2 つのデバイスが個別にバックアップと復元を行うことがわかりました。

Android の BackupManager サービスは、デバイス上のデータをバックアップし、ユーザーが別のデバイスに変更したときに復元することを目的としていることを読みました。このプロセスには、明らかに 2 つの異なるデバイスが含まれます。バックアップと復元機能が 2 つのデバイス間で機能しないのはなぜですか?

thisthisなど、私のものと同様の質問が複数あることを認識しています。残念ながら、私にとって有用な回答が含まれているとは思いません。

Android BackupManager サービスを使用して、複数のデバイスでバックアップおよび復元できるアプリの作成に成功した人がいるかどうか教えてください。

PS 参考までに、2 つのデバイスは HTC Desire S (Android 2.3.5) と Samsung Galaxy S2 i9100 (Android 4.1.2) です。どちらも最新の公式在庫 ROM を実行します。もちろん、それらは同じ Google アカウントで有効化されています。

どうもありがとうございました。

4

0 に答える 0