安卓QQ聊天記錄導出、備份完全攻略


發到知乎竟然被刪掉,我也不知道我到底違反了哪條。唉,別人的畢竟是別人的。雖然博客園也是別人的

前言

我對聊天記錄的備份比較執着,也在這上面折騰過不少。碰到過不少令人頭疼的麻煩,在這里分享一下經驗。

關於聊天記錄的備份、導出,你的手機可能是以下幾種情況的一種:

  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和導出腳本,其他的很多東西沒辦法一一講到,畢竟大家的基礎都不一樣。當然,也歡迎評論指正。

最后,最最重要的一點是數據無價!任何一步操作前請明白你在干什么,知道會有怎樣的后果,事先請通過其他方法備份一些你覺得非常重要的聊天記錄、圖片等,做好萬全的准備。

最后祝大家都能備份或者導出自己珍貴的聊天記錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM