发到知乎竟然被删掉,我也不知道我到底违反了哪条。唉,别人的毕竟是别人的。虽然博客园也是别人的

前言

我对聊天记录的备份比较执着,也在这上面折腾过不少。碰到过不少令人头疼的麻烦,在这里分享一下经验。

关于聊天记录的备份、导出,你的手机可能是以下几种情况的一种:

  1. 手机已经ROOT
  2. 手机没有ROOT但是已经解锁OEM
  3. 手机没有ROOT也没有解锁OEM
  4. 手机原生支持带应用数据的备份软件(比如华为)

原理

安卓QQ的聊天记录储存于

data\data\com.tencent.mobileqq\databases\你的QQ.db

这个文件就是我们备份和导出的核心,只要能拿到这个文件剩下的工作就简单了。

情况1

这种情况最为简单,直接访问这个目录取出文件即可

情况2

这种情况也比较简单,因为已经解锁OEM,所以在ROOT时并不会再清除数据。那么只要在获取ROOT权限后操作就和情况1一样了

情况3

[2020.04.04更新]在QQ官方更新了聊天记录备份功能之后,可以先将数据备份到电脑,然后再把数据导入到一个root过的设备(比如模拟器),再提取db文件。

也可以用之前的方法如下。

比较难,当初我就是这种情况。网上搜了大半天也没有个结果,然后隔一段时间再搜还是没有。终于,在无数次探索失败后,集各家之所长,融会贯通搜索到的东西,总结出一套解决办法。

解决的思路是利用ADB命令行来备份整个apk和应用数据。ADB命令里有这样一个功能,但是必须是应用允许备份才可以。不幸的的是QQ现在已经把这个功能给关掉了,不过我们可以通过降级用以前版本的QQ来实现这个功能(你也可以反编译QQ把那个功能给打开,如果你愿意的话)。然而,降级安装并不是直接就能安装的。最近看到有个应用叫核心破解,好像是解决这个问题的。我们这里说另一个方法。还是利用ADB,有个命令是卸载应用的同时保留原有数据,就是用这个命令先把原来的QQ卸载掉,但是还会保存原有数据,再安装支持备份的那个版本的QQ,再利用ADB命令备份应用和应用数据。拿到应用数据后找到情况1的那个文件。

具体的操作如下

1.卸载QQ但保留数据

adb -d uninstall com.tencent.mobileqq

[2020/02/16]更新:今天我想降级安装微信翻到这篇文章发现上面的命令写错了(希望没有坑害到人)正确的命令应该是

adb uninstall [-k] <package> - remove this app package from the device ('-k' means keep the data and cache directories)

对于QQ应该是

adb uninstall -k com.tencent.mobileqq

卸载后再次安装可能还是会出现应用程序未安装的提示(反正我是这样),重启一下手机就可以了

2.安装支持备份的QQ版本

下载该版本QQ

3.备份应用及数据

adb backup com.tencent.mobileqq

另外,我提供的这个版本的QQ不仅支持ADB备份,而且还内置聊天记录导出为TXT功能。真不知道为什么后来腾讯把这个功能给删掉了。我们也可以通过降级安装的方法用这个QQ的官方导出功能。

从db文件导出聊天记录

这个网上有资料,但是比较少,感兴趣的可以搜一下。当初我折腾这个也是一波三折。我把这个功能写成了一个python脚本,可以很方便的使用了。当然你要会一点python。

roadwide/qqmessageoutput​github.com

如果觉得不错也请给个star鼓励一下啊~

情况4

利用系统自带的备份应用,备份后找到db文件,然后用上述脚本就可以导出了。

总结

说实话,我写的比较简略,没有一些基础知识可能看不懂。但是我觉得我写的是最全的,因为情况3我真的找了很久都没有找到解决办法。所以,如果你看不懂,请学习相关的知识后再来看。我这里提供的比较重要的是思路、老版本QQ和导出脚本,其他的很多东西没办法一一讲到,毕竟大家的基础都不一样。当然,也欢迎评论指正。

最后,最最重要的一点是数据无价!任何一步操作前请明白你在干什么,知道会有怎样的后果,事先请通过其他方法备份一些你觉得非常重要的聊天记录、图片等,做好万全的准备。

最后祝大家都能备份或者导出自己珍贵的聊天记录

安卓QQ聊天记录导出、备份完全攻略的更多相关文章

  1. Linux 磁带机备份完全攻略

    一.确定数据备份策略 首先必须确定在备份过程中操作哪些文件.在商业环境中,这是非常困难的一个决定,而且会产生严重的影响.如果备份了太多数据,会导致备份系统的成本过于庞大,会削减其他方面的开支.如果没有 ...

  2. 安卓APP动态调试-IDA实用攻略

    0x00 前言 随着智能手机的普及,移动APP已经贯穿到人们生活的各个领域.越来越多的人甚至已经对这些APP应用产生了依赖,包括手机QQ.游戏.导航地图.微博.微信.手机支付等等,尤其2015年春节期 ...

  3. 如何找回QQ聊天记录、语音、图片?

    多图长图预警,本教程适用于 安卓手机 认真仔细看完答案的成功几率翻倍哟! 请各位认真看答案!求您了~ 2020年/4/4日 更新 人民不会忘记,祖国不会忘记,我们不会忘记,先烈不朽. 调整答案顺序,使 ...

  4. android微信聊天记录导出到电脑【微信安卓版技巧】

    微信,对它又爱又恨!爱的是微信能替代很多手机通话短信,恨的是有些较早前的手机不能友好支持,比如ytkah之前用的i8000,挺上手的,就是没办法装微信,当时工作需要必须用微信,只好忍痛割爱买了个and ...

  5. 把QQ聊天记录插入数据库中

    最近在做毕设,其中一个环节是分析qq聊天记录,在分析之前需要先把qq聊天记录导出,然后存入数据库中,qq聊天记录导出后是文本文档,导出方式: 1.登录qq后,点击任意一个好友,查看与他的聊天记录,点击 ...

  6. QQ聊天记录分析

    今天我们用R语言来处理一下.我们会用到一下技术:. (1)正则表达式 (2)词频统计 (3)文本可视化 (4)ggplot2绘图 (5)中文分词 一.数据处理 首先我们要讲QQ聊天记录导出成txt文件 ...

  7. QQ聊天记录快速迁移

    QQ聊天记录快速迁移 在工作中大家经常会用到QQ来沟通,但是很多时候在其它设备上登录QQ就无法查看到之前的聊天记录和图片,这是因为电脑上的QQ聊天记录一般都是保存在电脑本地硬盘里,所以我们在换设备登录 ...

  8. SQL Server 备份和还原全攻略

    原文:SQL Server 备份和还原全攻略 一.知识点 完全备份: 备份全部选中的文件夹,并不依赖文件的存档属性来确定备份那些文件.(在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份, ...

  9. QQ聊天记录备份助手 v1.0——搜索、备份、恢复QQ聊天记录文件,重装系统必备

    项目地址 https://github.com/guoyaohua/QQBackUp 开发环境 Netbean JAVA 功能描述 自动搜索硬盘中的QQ聊天记录文件 可选择的备份QQ数据记录 还原QQ ...

随机推荐

  1. 冰多多团队Gamma阶段项目展示

    [冰多多]Gamma项目展示 冰多多项目: 语音coding助手 Gamma阶段目标: 推出一个更加完整的IDE,完善编辑器功能,优化UI 一. 团队成员的简介和个人博客地址 成员 角色 个人博客地址 ...

  2. JS面向对象的类 实例化与继承

    JS中 类的声明有两种形式: // 类的声明 function Animal() { this.name = 'name' } // ES6中的class声明 class Animal2 { cons ...

  3. jquery插件实现瀑布流

    jquery插件实现瀑布流<!DOCTYPE html><html lang="en"><head> <meta charset=&quo ...

  4. idea 添加默认注释

  5. js遍历数组和数组对象

    <script> //----------------for用来遍历数组对象-- var i,myArr = [1,2,3]; for (var i = 0; i < myArr.l ...

  6. golang ---Learn Concurrency

    https://github.com/golang/go/wiki/LearnConcurrency 实例1: package main import ( "fmt" " ...

  7. ASP.NET Core中app.UseDeveloperExceptionPage和app.UseExceptionHandler方法有什么用

    在新建一个ASP.NET Core项目后,在项目Startup类的Configure方法中默认会添加两个方法的调用,app.UseDeveloperExceptionPage和app.UseExcep ...

  8. .NET中的泛型概述

    什么是泛型? 泛型是具有占位符(类型参数)的类.结构.接口和方法,这些占位符是类.结构.接口和方法所存储或使用的一个或多个类型的占位符.泛型集合类可以将类型形参用作其存储的对象类型的占位符:类型形参呈 ...

  9. TinyXPath 对于xpath标准的支持测试

    xpath是一种基于xml的查询标准,一般的xml解析工具都具有,有的因为卓越的xpath性能而出名,其匹配查询算法牛逼而又高效,和正则有的一拼.虽然我现在大部分从事前端工作了,但是对于原理性的东西还 ...

  10. RabbitMQ的简单模式快速入门与超时异常的处理方法

    本文适合JAVA新人,想了解RabbitMQ又不想去看官网文档的人(英语水看的头疼(◎﹏◎),但建议有能力还是去看官网文档). 消息队列MQ(一) MQ全称为Message Queue,消息队列是应用 ...