說來慚愧,玩了幾年的Android竟然沒有使用shell 調試過sqlite,今天突然想到要調試下,于是就找了下資料,發現網上吧的資料好多都是之前的了,而且好多重復的,不過好在廣大碼友還都是很給力的,找了幾篇文章終于拼拼湊湊的搞出來了。 首先說下,調試的時候一定要root,不root的話中間會碰到很多坑,一整命令不好使了,或者權限不允許啦之類的,會搞得你想撞墻的。我開始就用的我的調試機,魅族來做的,因為魅族自帶root ,但是那種的不是完全意義上的root,有些東西還是不行。所以我也碰了一鼻子灰。 說了這么多,開始進入主題,首先第一步:看下你的system/xbin目錄下是否有sqlite3文件,沒有的話就要去下載一份了,同時 記得要下載libncurses.so這個文件,很重要不然會不起作用的。
下載地址:http://download.csdn.net/download/chenguiyi/8680795
在這里,sqlite3在下載的時候要注意版本問題,5.0的版本是一個分水嶺,老一點的設備下載5.0以下的就好了。下面是地址:
Android sqlite3 4.0: http://download.csdn.net/detail/huang15984/9675871 Android sqlite3 5.0: http://download.csdn.net/detail/huang15984/9675875
下載完兩個主要文件之后我們就要把 文件放到 設備上了, 1. 在cmd中輸入adb shell,如果你的不起作用甚至報錯,就要去設置下adb的環境變量了。 2. 獲取root,輸入su 或者su root。輸入完之后命令行的$ 會變成 #,表示成功了。 3. 因為默認的/system處于掛載狀態,我們要設置成允許讀寫,命令如下
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
4. 我們將前面下載的sqlite3文件導入到手機中,先導入到sdcard,命令如下:adb push E:/sqlite/sqlite3 /mnt/sdcard/sqlite3
5. 再將文件復制到system/xbin下,命令如下:cat /mnt/sdcard/sqlite3 > /system/xbin/sqlite3
6. 同樣的方式,將libncurses.so文件放入/system/lib文件夾下。7. 上面都是用命令的方式來做的,考慮到一些賴癌患者不喜歡敲命令,這里我有一個方便的方式,使用[Root Explorre](http://dl.pconline.com.cn/download/79630.html%20%20Root%20Explorer)這個APP,將上面兩個文件放到sd卡任意一個文件夾下,使用這個APP復制到對應的文件夾就可以了,還是很easy的。8. 文件都準備就緒之后,我們要給sqlite賦予權限,不然在執行sqlite3的時候會出現:sh: sqlite3: cannot execute - Permission denied這個錯誤。命令如下:chmod 4755 sqlite3
9. 驗證sqlite3是否有權限,命令如下:ll sqlite3 提示:-rwxr-xr-x root root 36860 2012-08-15 21:45 sqlite3
10. 再執行sqlite3命令,提示如下:SQLite version 3.7.11 2012-03-20 11:35:50Enter “.help” for instructions Enter SQL statements terminated with a “;” 到這里就可以正常調試你的sqlite數據了, cd data/data; cd com.boanda.android.ydzf.chongqing/databases; sqlite3 你的數據庫。
新聞熱點
疑難解答