
Android ADBバックアップ(ICS+)を抽出および再パッケージ化します。暗号化されたアーカイブ、tar変換、およびフォレンジック分析またはデータ復旧のための標準入出力をサポートします。
adb backup (ICS+) で作成された Android バックアップを抽出および再パックするユーティリティ。
主に AOSP の BackupManagerService.java に基づいています。
Java 11 が必要です。暗号化されたバックアップを扱うには JCE 無制限強度管轄ポリシーが必要です(現在の Java 9 リリースを使用している場合は不要)。
http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
以下のツールのいずれかを使用してビルドするか、リリース で事前ビルドされたバイナリ(実行可能 jar ファイル)を参照してください。
最新の Bouncy Castle Provider jar (bcprov-jdk15on-*.jar) を こちら からダウンロードしてください:
最新の Bouncy Castle jar を lib/ に配置し、Eclipse にインポートして、必要に応じてビルドパスを調整します。abe スクリプトを使用してユーティリティを起動します。
自己実行可能なオールインワン jar を作成するには:
mvn clean package を実行し、その後:
java -jar target/abe.jar pack|unpack|pack-kk ...
同梱の Ant スクリプトを使用してオールインワン jar を作成し、次のコマンドで実行します:(Bouncy Castle jar を lib/ に配置する必要があります。必要に応じて bcprov.jar プロパティを変更してください)
java -jar abe.jar pack|unpack|pack-kk ...
(build.xml ファイルの提供に感謝します - Jan Peter Stotz)
gradle を使用してオールインワン jar を作成します:
./gradlew を実行し、その後:
java -jar build/libs/abe-all.jar pack|unpack|pack-kk ...
abe unpack <backup.ab> <backup.tar> [password]abe pack <backup.tar> <backup.ab> [password]abe pack-kk <backup.tar> <backup.ab> [password]
(バージョン 2 のバックアップを作成し、Android 4.4.3 と互換性があります)ファイル名が - の場合、データは標準入力から読み取られるか、標準出力に書き込まれます。
パスワードがコマンドラインで指定されていない場合、環境変数 ABE_PASSWD が試行されます。パスワードを指定しない場合、バックアップアーカイブは暗号化されず、圧縮のみ行われます。
allowBackup フラグが false に設定されているアプリは バックアップも復元もされません。
adb push と adb shell を使用して手動で復元を試みることもできます)BackupManagerService に注意してください。tar アーカイブをパックする最も安全な方法は、元の backup.tar ファイルからファイルリストを取得することです:
tar tf backup.tar | grep -F "com.package.name" > package.list
次に、そのリストを使用して tar ファイルをビルドします。抽出されたバックアップディレクトリ内で:
tar cf restore.tar -T package.list
これで restore.tar をパックし、adb restore restore.ab を試すことができます。
リリース は master ブランチから Travis CI でビルドされ、実行可能な fat jar が含まれています。
バイナリは自己責任で使用してください。保証やサポートは提供されません。
バックアップ抽出ツール自体のバグのみを報告してください。バックアップや tar ファイルの解凍/再パックに関する質問には回答できません。 (簡単な使用ガイドは 使用方法 を参照してください。)
バックアップ形式とツールの実装の詳細については、関連ブログ記事 を参照してください。