發到知乎居然被刪掉,我也不知道我到底違反了哪條。唉,別人的畢竟是別人的。雖然博客園也是別人的node
我對聊天記錄的備份比較執着,也在這上面折騰過很多。碰到過很多使人頭疼的麻煩,在這裏分享一下經驗。python
關於聊天記錄的備份、導出,你的手機多是如下幾種狀況的一種:git
安卓QQ的聊天記錄儲存於github
data\data\com.tencent.mobileqq\databases\你的QQ.db
這個文件就是咱們備份和導出的核心,只要能拿到這個文件剩下的工做就簡單了。微信
這種狀況最爲簡單,直接訪問這個目錄取出文件便可app
這種狀況也比較簡單,由於已經解鎖OEM,因此在ROOT時並不會再清除數據。那麼只要在獲取ROOT權限後操做就和狀況1同樣了ide
[2020.04.04更新]在QQ官方更新了聊天記錄備份功能以後,能夠先將數據備份到電腦,而後再把數據導入到一個root過的設備(好比模擬器),再提取db文件。學習
也能夠用以前的方法以下。this
比較難,當初我就是這種狀況。網上搜了大半天也沒有個結果,而後隔一段時間再搜仍是沒有。終於,在無數次探索失敗後,集各家之所長,融會貫通搜索到的東西,總結出一套解決辦法。spa
解決的思路是利用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版本
3.備份應用及數據
adb backup com.tencent.mobileqq
另外,我提供的這個版本的QQ不只支持ADB備份,並且還內置聊天記錄導出爲TXT功能。真不知道爲何後來騰訊把這個功能給刪掉了。咱們也能夠經過降級安裝的方法用這個QQ的官方導出功能。
這個網上有資料,可是比較少,感興趣的能夠搜一下。當初我折騰這個也是一波三折。我把這個功能寫成了一個python腳本,能夠很方便的使用了。固然你要會一點python。
若是以爲不錯也請給個star鼓勵一下啊~
利用系統自帶的備份應用,備份後找到db文件,而後用上述腳本就能夠導出了。
說實話,我寫的比較簡略,沒有一些基礎知識可能看不懂。可是我以爲我寫的是最全的,由於狀況3我真的找了好久都沒有找到解決辦法。因此,若是你看不懂,請學習相關的知識後再來看。我這裏提供的比較重要的是思路、老版本QQ和導出腳本,其餘的不少東西沒辦法一一講到,畢竟你們的基礎都不同。固然,也歡迎評論指正。
最後,最最重要的一點是數據無價!任何一步操做前請明白你在幹什麼,知道會有怎樣的後果,事先請經過其餘方法備份一些你以爲很是重要的聊天記錄、圖片等,作好萬全的準備。
最後祝你們都能備份或者導出本身珍貴的聊天記錄