理论准备
  1. 应用数据一般存储在"系统根目录/data/data"下,一般直接替换即可替换用户数据
  2. 软件“钛备份”可以将应用数据从data/data下提取到sdcard下的钛备份目录下,并打包成.tar.gz(钛备份备份的一般有三个文件,分别是文件信息、安装包、应用数据,.tar.gz的是应用数据)
  3. 在无法开机的情况下,使用REC可以备份data分区的文件,并打包成data.win0001,data.win0002之类的形式。而且这些文件好像是data分区的一个划分。
  4. 使用winrar可以正常打开win000x文件,使用7z可以较好的修改.tar.gz文件(使用7z打开win000x文件好像有些问题,使用winrar打开.tar.gz的路径好像会有变化,因为win0001应该是linux平台打包的)

实践

( 假设当前手机无法开机,需要双清刷机才能正常使用,但用户数据没有备份。)

  1. 通过REC备份data分区,获得整个系统的应用数据
  2. 将备份文件弄到电脑上,然后双清刷机,使手机能正常使用
  3. 手机root后安装钛备份,安装想找回数据的应用,这里以QQ为例,安装QQ,然后使用钛备份备份。
  4. 在根目录下找到钛备份的备份文件,传到电脑上,假设该文件叫beifen.tar.gz
  5. 打开beifen.tar.gz,在data/data下找到包名,比如com.tecent.mobile.qq
  6. 使用winrar打开win000x文件(每个都这样操作),如果没有在data/data下找到对应的包名,不用管,否则,将该包解压。
  7. 全部解压完后,使用7z打开beifen.tar.gz,不断打开,直到到达包名所在位置,将原来的所有东西删除,将解压后的文件(夹)全部拖到压缩文件中,退出,更新文件。
  8. 把修改后的beifen.tar.gz传到手机,替换原来的文件
  9. 使用钛备份恢复数据,成功找回原来的数据

后记

之所以会出现前面假设的情景,原因可能是多样的,我就是因为没有启动usb调试,然后进不了系统,又没备份文件,所以才发现可以使用这个方法。