1. 程式人生 > >Android studio檢視手機/data/data下資料並匯出

Android studio檢視手機/data/data下資料並匯出

Android studio檢視手機/data/data下資料並匯出,歷經N小時的摸索,查閱資料,最終解決這個問題。雖然看起來是小問題,但是不解決心裡不好受。網上的資料很多,但是能用的,能有效果的很少,下面我來總結我的方法。
首先要檢視data/data下的資料,要求手機必須root.
開啟Android studio點選這個
這裡寫圖片描述
之後出現這個視窗,DDMS
這裡寫圖片描述
此時的你,應該是手機root過了 吧,但是你點選data發現目錄下邊,因為你沒有許可權開啟。然後我們再看看 Permissions 下面的顯示 是許可權的意思 而drwxrwx–x 是需要linux的檔案許可權訪問許可權下邊進入命令列受理許可權。

接下來找到我們的SDK 目錄下的檔案

從這裡開啟我們的DOS 命令 接下來重點來了
這裡寫圖片描述
3、輸入圖中命令修改許可權

修改許可權命令: adb shell su -c “chmod 777 /data/data/包名”

想要修改怎麼樣的一個資料夾的訪問許可權 加個檔案路徑便可
執行完畢之後! 在DDMS 中就可以看到我們要訪問的檔案夾了!

接下來是怎麼匯出我們所需的檔案。 比如我想匯出聯絡人的資料庫
這裡寫圖片描述
但是當你點選右上方工具欄的匯出時,總是爆出以下的錯誤,很無奈,差了很多方法都解決不了。下面我給出可以解決的方法,一定可以匯出

解決辦法是去到安卓的adb目錄\Android\sdk\platform-tools下按住Shift右鍵“在此處開啟命令列視窗”,進入命令列視窗後:需要操作的命令有:
1、adb shell進入shell模式

?

1

adb shell

2、獲得所有root許可權

?

1

 

3、先把資料夾許可權全部開啟

?

1

chmod  777 /data/

4、給裡邊的db檔案許可權設定成可讀可寫可操作

?

1

chmod  777 /data/data/(專案全包名)/databases/xxx.db

5、cd命令進入db檔案所在目錄:

?

1

cd /data/data/(專案全包名)/databases

6、複製內容到一個temp檔案中去,這一步很關鍵,目的是為了繞過有時候對檔案直接pull的話,會找不到檔案目錄這一後面會出現的情況。

?

1

cat xxx.db > /sdcard/xxx.db

7、執行兩次exit直接返回到正常的終端提示符
8、將temp檔案拉出來,拉到你進入命令列的檔案下,就是說pull出來的資料庫檔案在\Android\sdk\platform-tools資料夾下,開啟我的電腦找到它!

?

1

adb pull /sdcard/xxx.db

再強調一點,怕你找不到pull到哪裡了,它就在你進入命令列的那個資料夾裡,自己瞪大眼睛看看就找到了!

到此目的達到,成功提取手機中的資料庫。
其他的方法我都試過了,都不行,唉,你們網上能搜到的,我也已經試過了。。。假如你直接用命令 adb pull /data/data/全包名/databases/xxx.db將資料庫db檔案拉出來的話,會找不到目錄的

之後將提取的資料庫檔案使用專業軟體開啟就可以查看了,我是用的是
這裡寫圖片描述
直接將檔案拖進去就可以開啟查看了
這裡寫圖片描述