解決開啟Android Device Monitor一系列問題
問題1:解決開啟Android Device Monitor之後一片空白
問題描述
將手機升級到Android 7.0後,開啟android Device Monitor(DDMS)後,File Explorer中顯示一片空白。如下:
Android Device Monitor (DDMS)的版本如下:
不管用monitor.bat
(注ddms.bat
已棄用)還是通過Android Studio中的圖示啟動(如下圖),都是一樣的問題。
點選藍色框中的button,啟動Android Device Monitor。
解決方法
情況一:通過monitor.bat或者Android Studio中圖示啟動時**
第二步:在Android SDK的tools目錄中搜索ddmlib.jar
當前目錄為Android SDK的tools目錄。
$ find . -iname *ddmlib* ./lib/ddmlib.jar (不用替換它) ./lib/monitor-x86_64/configuration/org.eclipse.osgi/bundles/2/1/.cp/libs/ddmlib.jar123123
可能會搜出多個,我們要替換的是
tools/lib/monitor-x86_64/configuration/org.eclipse.osgi/bundles/2/1/.cp/libs/ddmlib.jar
有可能你的目錄與這個不同,請以實際目錄位置為準。
第三步:用剛才下載到的ddmlib.jar替換剛搜到的ddmlib.jar
需要注意的是,替換的時候,先將Android Device Monitor關掉。
第四步:再次開啟Android Device Monitor,就可以看到目錄樹了(如下)
情況二:在eclipse中顯示File Explorer**
前提是下載了ddmlib.jar。
- 第一步:搜尋eclipse 中的 ddmlib.jar
例如,在我的eclipse中,ddmlib.jar在eclipse/configuration/org.eclipse.osgi/8/0/.cp/libs
目錄下。
$ find . -iname ddmlib.jar
./configuration/org.eclipse.osgi/8/0/.cp/libs/ddmlib.jar1212
你的ddmlib.jar所在的位置可能與我的不同,請以實際目錄位置為準。
第二步:用剛才下載到的ddmlib.jar替換剛搜到的ddmlib.jar
第三步:重新開啟eclipse,File Explorer就可以顯示正常了
問題2:關於操作db檔案匯出Failed to pull selection: open failed: Permission denied問題的處理方法
問題描述
在遇到這個問題之前,你可能連data這個目錄都打不開。。
解決辦法
對此,解決辦法是去到安卓的adb目錄/Android/sdk/platform-tools下按住Shift右鍵“在此處開啟命令列視窗”,進入命令列視窗後:需要操作的命令有:
1、adb shell進入shell模式
adb shell
2、獲得所有root許可權
su
3、先把資料夾許可權全部開啟
chmod -R 777 /data/
4、給裡邊的db檔案許可權設定成可讀可寫可操作
chmod 777 /data/data/(專案全包名)/databases/xxx.db
5、cd命令進入db檔案所在目錄:
cat my_datbase_name.db > /sdcard/my_database_name_temp.db
複製內容到一個temp檔案中去,這一步很關鍵,目的是為了繞過有時候對檔案直接pull的話,會找不到檔案目錄這一後面會出現的情況。
6、執行兩次exit
直接返回到正常的終端提示符
7、將temp檔案拉出來,拉到你adb.exe存放的目錄下,避免直接與資料庫檔案做操作,或者你也可以新建一個目錄(事先新建好喲)
adb pull /sdcard/my_database_name_temp.db (其他目錄如 F:/db)
補充上面提到的會出現的問題:
你如果用命令 adb pull /data/data/全包名/databases/xxx.db
將資料庫db檔案拉出來的話,會找不到目錄的
提取到的資料庫檔案可以用SQLite開啟,直接拖拽到裡面就可以顯示
下面是我成功提取資料庫檔案sims.db的截圖:
問題3:利用ddms檢視應用的sharedprefence檔案
問題描述:
當我使用DDMS檢視file系統的時候,發現我明明有這個應用,為什麼找不到這個應用呢?好神奇!
解決辦法
沒辦法,既然GUI不給力,我們只能進入命令列來看了
D:>adb shell
zsl865:/ $ su
zsl865:/ # chmod -R 777 data/data/
後邊基本就是linux的操作了,然後打開了data/data居然找到了之前的應用,然後進去之後發現了對應的sp檔案