adb,sqlite3訪問真機數據庫的解決方案

一、root手機獲取權限

沒有root的真機訪問數據庫時會出現需要權限的錯誤,如圖:

解決方法:下載 root精靈 軟件->一鍵root,個人感覺比其它的好用。獲取root權限如圖:

一鍵root成功後,重啓手機和電腦。打開eclipse運行起你要打開的數據庫的應用。

1.打開命令提示符cmd->輸入adb devices ,查看是否真機已連接上電腦,連接成功下面會顯示設備devices的集合list,否則爲空。

2.繼續輸入adb shell,然後是cd data/data/你的應用包名/databases,直接ls,你會發現還是出現剛纔的需要權限的錯誤,這時,應先輸入su獲取管理者權限,然後再輸入ls就可以打開了。(注意:獲取權限後語句前面是#,沒獲取前是$符號)效果如圖:


二、解決真機沒有sqlite3的問題

有時候用sqlite3訪問真機的數據庫時,會出現sqlite3:not found問題,因爲有些手機本身沒有sqlite3。查看是否有sqlite3,可以這樣做:在eclipse中的File explore中的/system/xbin中查看是否有個sqlite3的文件,有則說明支持自帶sqlite3,否則需要我們手動導入sqlite3程序。

1.複製模擬器的sqlite3保存到本地

運行應用程序到模擬器上,打開File explore中的/system/xbin,找到sqlite3文件,選中後點擊右上角的Pull a file from the device將sqlite3保存到電腦上。

2.導入sqlite3到真機上

運行應用程序到真機上,打開命令提示符cmd->adb shell->su,打開File explore,選中/system/sdcard文件夾,點擊右上角的Push a flie onto the device將剛保存到電腦上的sqlite3程序導入到真機的sd卡中。然後在命令行輸入

 cat  /mnt/sdcard/sqlite3  >  /system/xbin/sqlite3 複製文件到真機。此時,在真機的File explore的/system/xbin文件中多了一個sqlite3的文件。此時sqlite3還不能運行。需要在命令行中輸入chmod 4755 /system/xbin/sqlite3修改權限。

關閉命令提示符窗口,重新創建一個cmd。再執行sqlite3就ok了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章