廢話先不說,直接上干貨:
只要把兩個地方的數據完整的復制到新手機對應位置就可以了,但過程相當坎坷:
/data/data/com.tencent.mobileqq
/sdcard/Tencent/MobileQQ
下面開始廢話:
最近打算換個新手機,這面臨着數據轉移的工作。短信、聯系人、通話記錄這三樣數據轉移起來非常容易,第三方工具太多了。但是轉移手機QQ的數據(聊天記錄、QQ空間動態等)時卻犯難了。
其本身並沒有提供導入導出數據的功能。也沒有找到第三方工具。沒辦法,只能自己找方法了。
手機獲得Root權限后確實比較方便,先用RootExplorer搜Tencent字樣的文件和文件夾,確定所有騰訊軟件的數據都會在這個字樣的目錄后,又把范圍縮小到了帶MobileQQ字樣的文件和文件夾。最后確定了含有重要數據的兩個位置:
/data/data/com.tencent.mobileqq
/sdcard/Tencent/MobileQQ
因為對Linux不太了解,所以順便搜了一下安卓的目錄的介紹(http://blog.csdn.net/xxg3053/article/details/6981949)。
為了確定聊天記錄什么的都在上面提到的兩個地方,先用安卓內置的SQLite查看器看了一下/data/data/com.tencent.mobileqq中的很多db文件。在 databases 目錄下以QQ號命名的db文件中確實能看到聊天記錄,只是可能經過UTF編碼了,所以看到的是亂碼。
而 /sdcard/Tencent/MobileQQ 中的文件大概看了一下,是一些頭像緩存之類的東西,重要性較前一個目錄低了一點。
因為新手機還沒到手,所以自己用Eclipse+AndroidSDK新建的虛擬機測試了轉移過程。不知道是什么原因,2.3.3的虛擬機打不開舊手機中的db文件,但是4.3卻能打開。
因為目前還沒用到實機中。所以詳細操作步驟暫時不說了。只說一下幾個重要的點:
1、 手機必須有Root權限,這樣才能拿到核心數據或把數據放回去。
2、 AVD(Android Virtual Device,安卓虛擬設備)中的軟件獲取Root比較麻煩。具體的可以搜索網上的文章。
3、 可以直接用adb的push把文件夾復制到/data/data/中。
4、 新手機中的文件夾的權限不是舊手機中的標准樣子了,貌似要改成QQ對應的用戶。因為看網上說,/data/data 轉移到sd卡時因為權限的改變會導致莫名其妙的問題。所以這里的權限如果不處理好,我感覺以后也可能會出問題。