Android软件数据备份以及管理优化

发布于 2018-11-07  5 次阅读


2019.06 卖了XZ1,换了iPhone8,配合MacBook Pro真香~

下面的大部分操作需要root

一、写在前面

最近有些力不从心,重装macOS后又得重装Android(最近Sony终于咕咕咕的更新了安卓P),服务器也都重装,为啥重装呢...因为有点系统洁癖,这篇文章下我总结下安卓重装后的一些操作,会涉及到刷机前的备份准备以及刷机后系统的管理优化,希望对你有所帮助。

二、备份

备份是个好习惯,即使不刷机定时备份也是很重要的,备份一般包括App和App的数据,短信联系人,各种系统设置之类的,在这里我们只考虑备份App和App的数据的情况

在备份之前我们先对安卓下软件数据进行了解

1.备份原理

在Android中的APK是Android Package的缩写,即Android安装包,其实就是一种压缩文件,安装软件时会自动把APK移动到/data/app/下,解压并把dex文件保存到/data/dalvik-cache/目录,接着在/data/data/目录下创建对应的应用数据目录

/data/app/这个目录下都是第三方软件,而系统软件的APK存储在了/system/app/

提下/system/app//data/app/的区别

  • /data/app/下的 普通用户可以卸载,/system/app/下的 只能 root 后删除
  • /data/app/下的软件即使静默也可以收到各种广播信息,/system/app/下的就不能

软件的私有数据大部分都存放在/data/data//storage/emulated/0/Android/data/下,除了这两个有些大型游戏往往还会有个/storage/emulated/0/Android/obb/,OBB文件(Opaque Binary Blob)是安卓游戏通用数据包,存的都是游戏中所用到的资源,对于有些游戏会将OBB解包/storage/emulated/0/Android/data/目录下,但是也有直接读取不解包的

2.开始备份

有了以上的知识背景后我们就可以手动对应用进行备份了,不过这样不够优雅,手动复制打包移动这些操作早就有了很多自动化的软件了

在这里我们使用钛备份进行各种备份和还原操作

具体的软件操作就不多说了,虽然界面万年不变但是还是比较容易上手的

接着分析钛备份生成的备份文件,我们会发现当备份一个App以及数据后会生成三个文件,一个文件以.properties结尾,里面记录了一些备份的系统环境和备份软件的版本号之类的信息,给以后还原加载验证用的,另外两个都是gz格式的压缩包,其中一个中含有APK,另一个里面还是个压缩包,压缩着该软件的各种数据,就是上文所提及到的/data/各种文件,钛备份默认不备份软件的缓存文件,通过测试发现钛备份还不会备份obb文件,还得需要手动备份一下,不过问题不大,毕竟用得到obb的还是少数软件,在专业版中可以很方便的使用一键备份和还原所有,计划备份,支持各种国外云备份以及加密也是不错的,可以说是瑕不掩瑜了

至于备份联系人短信之类的...

在我使用过Swift Backup后,我只能说句“真香”

同样支持Pro版计划备份,一键备份和还原,最重要的是支持obb·短信·通话·联系人备份!!,虽然仅支持Google Drive云备份,但是光是界面就不知道比钛备份高到哪里去了,一年订阅Pro1.99刀,5.99刀买断,还是很划算的

备份文件分析的话,软件数据备份后,会有一个.app结尾的文件,后缀改成apk就是安装包,以.dat结尾的改成zip,里面压缩的就是上文提及到的各种软件数据文件夹(/data/下的),以.extdat结尾的压缩的是/storage/emulated/0/Android/data/下的,以.exp结尾的是obb文件,只是改了个名字,大小没变,另外还会生成一个.xml的文件,内容经过一些处理,不出意料和钛备份中的.properties文件作用差不多,如果我们在设置中设置了备份加密的话,密匙可能就是存在这个文件中

至于备份通讯录和短信之类的文件涉及到数据库之类的,技术受限这里就不做分析了,感兴趣的可以尝试下

备份工作做好就可以强刷固件了(Sony),一般手机都是Recovery下卡刷ROM包的,具体流程Google一下各自手机型号刷机教程即可

三、管理优化

由于Android的开放,给了一些软件滥用权限可乘之机,为了保护个人隐私和手机的流畅,必须采取一些措施对付了

1.管理工具软件

建议先下一个类似于Appops的权限管理软件以及黑阀管理后台再安装各类软件,安装一个管理一个

如果你的手机能刷Xposed框架的话(推荐刷Magisk中的Systemless的Xposed),有很多模块都很好用,由于我手机用的官方固件没法刷进Xposed...所以你懂我意思8

那就写点各类软件推荐

  • Appops 管理软件的各种权限,可对付那种不给权限就不让用的流氓,但支付宝的SD卡读取权限压不住,仍可以读取,目前无解,大部分软件还是很管用的
  • Brevent(黑阀) 管理软件后台的软件,很管用就是了
  • SD Maid & Dir 都是清理软件的,前者的话个人还用它来卸载和管理自启权限,后者的对国内流氓文件很棒
  • Airfrozen(空调狗) 冻结流氓和不常用软件的,这类软件很多,只是我一直都是用的这个就是了

    Play上都可以下到,管理软件就差不多这些了

2.使用IFW管理缓存活动唤醒

除开以上提到的工具,还值得一提的是是IFW(Intent Firewall)这个玩意

这是一个起到过滤到Intent的东西,在Android中软件都是使用Intent这个玩意启动新活动、新服务等,我们可以使用这个来阻止一些并不需要的东西开启

系统是读取/data/system/ifw/下的xml来过滤掉Intent(允许多个文件,可叠加),我们可以自己编写xml进行过滤,具体怎么写,可以参考这里自己写是不可能的,这辈子都不可能的(逃 可以直接使用已经写好的xml文件Github ,复制到/data/system/ifw/下,xml改成644权限,无需重启即刻生效

但是有些流氓会检查自己申请的服务有没有正常开启,如果没有就会一直发送请求,反而会导致系统资源的消耗和设备耗电量的增加...就很尴尬

就我日常使用带来的效果还是很明显的,诸如微信这种不得不的后台缓存低了不少

四、总结?!

现在手机性能普遍过剩,在我看来运用以上的方法管理好已经够用,最重要的还是保持良好的使用习惯,定时清理下垃圾,远离国内几大流氓厂,能用浏览器快捷解决的绝不下个软件,即使要下也去Play上下

愿国内安卓生态环境早日转好,虽然不抱什么希望就是了


一只正在转生画师的技术宅