Pusing restore data app dari android 8 (hape lama L) ke android 7 (hape baru B)
Tadinya pake cara restore biasa (dari google drive) dari L ke B.
Tapi di pilihan device yang darinya restore, ga ada L.
Sempet bingung lama sekali, akhirnya setelah cari2 info, ternyata B hanya mau restore
dari device yang versi androidnya sama ato lebih lama.
* pake `bmgr list sets` untuk liat daftar device yang darinya bisa restore.
* pake `bmgr backupnow --all` untuk paksa backup sekarang juga.
===
Cara kedua, pake adb backup dan adb restore.
Dari L, jalanin `adb backup -all -apk -f backup.ab`
Lalu colok B, jalanin `adb restore backup.ab`
Ternyata gagal, di logcat keluar "Wrong header version: 5"
GRR. Ternyata L keluarin backup.ab dengan versi header lain.
Pake
https://github.com/nelenkov/android-backup-extractor
(dan untuk supot versi 5 dari
https://github.com/nelenkov/android-backup-extractor/issues/53 )
untuk ubah jadi .tar lalu dijadiin .ab lagi.
java -jar abe-all.jar unpack backup.ab backup.tar
java -jar abe-all.jar pack-kk backup.tar backup2.ab
maka berubahlah backup.ab jadi backup2.ab yang versionnya 2.
Colok B, adb restore backup2.ab dan siap2 bergembira...
Waktu berjalan.. proses masih berjalan... setelah selesai, ternyata ga ada 1 pun app kerestore.
Ternyata adb restore ga bisa instal apk, bug yang ga dibener-benerin sama gugl payah.
https://issuetracker.google.com/issues/37130390
===
Cara berikutnya.
Ekstrak backup.tar di atas.
tar xvf backup.tar
Instal semua apk dengan
find . -name '*.apk' -print -exec adb install -r {} \;
Setelah semua apk keinstal, adb restore backup2.ab lagi.
Kali ini semua data app benar2 bisa direstore! Fuh!