Google why did you do that? Seriously?
Today I was about to get my Nexus5, which was on a CM 12.1 nightly, anyhow updated to Marshmallow but to keep my all my apps and data and the data of the apps on the device without the need to re-configure every single app. Honestly, I was focused to have at least all the settings and data from WhatsApp and Google Authenticator on my device without the need to reconfigure them.
Everything else I could deal with.
Well that wasn’t that easy as I thought it will may be.
Usually you can get your apps and its settings backed up easily with adb using:
adb backup -apk -obb -all -f filename.ab
And after you’ve finished your stuff, simply issue:
adb restore filename.ab
to restore your backed data, apps and their data. I did this a couple of times some months ago and it went very good, even for WhatsApp.
But I sucked at WhatsApp and the Google Authenticator which were the most important ones for me to have backed.
What have I tried so far?
Well, after digging around a bit, I’ve read that there is a flag in the Android Manifest which can be set to disable apps to be backed up.
So, I’ve extracted the apk’s for WhatsApp and Google Authenticator and decompiled them to see into the Manifest. Well, I wasn’t surprised that much when I’ve seen in both apk’s that Backups were set to “false”. Well I thought: “that’ll be easy boy, simply set the flag to “true”, recompile the apps and replace them in
- /data/app/com.whatsapp < = for WhatsApp
- /data/app/com.google.android.apps.authenticator2-2/ <= for Google Authenticator
reboot the phone, create the backup (incl. WhatsApp and GA), flash Marshmallow on it, install the modded apps and restore your backup.”
Well. I have to tell you guys, this didn’t work at all. It was working fine on the same OS (CM 12.1). I’ve
- replaced the .apk files
- rebooted the phone,
- created a backup
- deleted the data for those ones
- rebooted the phone
- restored the backup
- rebooted again
and it was working fine. Just as expected!
Google. Seriously for what ***king reason did you build in such a great BackUp-Option in your OS but also allow app developer to disable a full backup of their apps. Just imagine every singel dev would do that! Why the *F* do I need a backup function in Android?
Can you anyhow remove this stupid flag? That would be great dudes!
Thank god I’ve made a TWRP Backup before I’ve started doing anything on my Nexus5. After I’ve tried lots of stuff I gave up. I’ve flashed Lollipop again on my device, flashed TWRP Recovery, pushed all my files to the SdCard and then restored my BackUp via TWRP.
I’m really fed up with this. Does anyone, anyhow may have a better idea how to get this done?
Let me know your suggestions in the comments!
UPDATE: Dec. 30th 2015
Finally I was able to get almost what I wanted. Finally!
Titanium Backup was able to backup my WhatsApp and Google Authenticator data and restore it successfully after upgrading to CM13.
Thanks for posting this, I was running into the same problem. As you were rooted anyway, using Titanium would have been first choice ( since ever 😉 ) but this adb backup being made optional is a serious problem for power users who do not want to root their phones. Well, there is no choice now I guess.
I guess iOS and iTunes and Apple are far superior in this regard. Probably they do that for security reasons, so you don’t backup sensitive banking data and what not. In any case, there should be an option in developer setting to allow to override that.
Also, having a rooted phone is not the most secure thing in the world.