前两天想给手机整个备份,摸索了两天,写一份指南出来,涵盖了一些可能碰到的问题。
关于应用安装包、短信、联系人、相册之类的数据,以及部分软件的数据可以通过手机自带备份软件备份和还原。
但有部分软件手机自带的备份工具是不允许备份的,比如我这中兴手机的备份助手帮助里写到:

哪些数据不支持换机?
不可卸载系统预装应用、金融类应用数据、存在兼容性的应用及数据、与设备信息强绑定的应用(如卡包)数据。

但傻逼的是,这个备份助手根本没有按照他的规矩办事。微信和支付宝是金融类应用,不能备份我可以理解,但为什么贴吧百度地图chrome和gboard不给我备份?我一个浏览器和设备绑定了还是贴吧是金融类软件?QQ有财付通怎么就可以备份?

这个时候备份数据就需要用到ADB来备份了。
关于安卓11直接连接adb可以参考我的这篇文章
使用adb backup命令对刚刚不能备份的软件进行备份

adb backup -f backup.ab 应用包名

手机会弹出一个备份确认,确认备份后耐心等待备份完成页面自己退出,不要手动退出这个备份页面,home键什么都不行,不然会吃亏的,不要问我怎么知道的,这样会创建一个backup.ab文件,里面储存这备份应用的数据。
需要注意的是,在应用的AndroidManifest.xml中,有着allowbackup的设定。很多软件都将其设置为false,这会使得app无法通过adb backup备份,其表现为备份的文件大小只有47B。必须将android:allowBackup="false"修改为android:allowBackup="true"才可以。
以微信举例,如果你有使用太极、LSPatch之类的框架,对微信进行过打包(即有过重新签名),那么你可以重新下载微信的官方安装包,手动修改apk中的AndroidManifest.xml,将allowbackup设置为true,随后重新使用太极、LSPatch进行打包覆盖安装即可。如果重新安装后无法备份,请尝试重启手机
如果你没有用这类软件重新签名,那你可以通过root来实现备份。
但是这样就和本文标题不符了,所以还有一个办法就是把现在这个软件卸载了重新安装修改过的安装包,这样就可以备份啦

言归正传,备份过程中还遇到一个问题。那就是Chrome、Gboard等软件也出现备份文件仅47B的现象,但他们的allowbackup是true。
后来上网查询了资料,参考这个链接,解决方法如下:
在adb backup时加上参数-keyvalue

adb backup -f backup.ab -keyvalue 应用包名

我解包查看了一下,似乎这类软件提供的备份数据方式是键值对方式的,所以需要用这个参数。
使用adb恢复一个应用(事先请安装这个应用):

adb restore backup.ab

完成 quyinniang_maimeng.png

本文作者:小欢

本文链接:安卓系统免root备份指南 - https://www.xh-ws.com/archives/android_backup.html

版权声明:如无特别声明,本文即为原创文章,仅代表个人观点,版权归 小欢博客 所有,遵循知识共享署名-相同方式共享 4.0 国际许可协议。转载请注明出处!