sqlite3 not found的解決辦法

原文轉載 http://ramosli.iteye.com/blog/1966202
寫的太好了,怕自己忘記,就轉載到自己博客。如果有版權問題,請聯繫我。

在Android開發方面,我是小白,起步沒多久。最近用到了sqlite本地緩存數據,我希望像mysql一樣通過命令行查看建立的表以及表中的數據,於是用adb shell進入,敲入sqlite3,提示 sqlite3: not found。 網上搜索了一下,網上的文章倒是不少,但如果直接複製人家的命令的話,發現仍然報錯,於是自己研究了下,總結如下,希望遇到同樣問題的朋友少走彎路:

  1. 需要獲取手機的root權限,方法很多了,我用的是360一鍵Root,有時也用百度一鍵Root
  2. 從其他手機拷貝sqlite3文件到PC,我是從模擬器copy出來的,爲方便大家,附件就有,可以直接下載哈
  3. 進入手機建立個臨時目錄
    開始—cmd—adb shell—mkdir /mnt/sdcard/tmp,然後退出到cmd下
    adb push D:/temp/sqlite3 /mnt/sdcard/tmp
  4. copy文件到/system/xbin
    adb shell
    su (這一步報permission denied的話是Root沒有成功,重新Root吧)
    cp /mnt/sdcard/tmp/sqlite3 /system/xbin/sqlite3 (注意:這一步可能報兩種錯,第一種: cp not found,將命令換成cat /mnt/sdcard/tmp/sqlite3 > /system/xbin/sqlite3, 第二種:read-only file system,說明/system是隻讀的,此時需要重新mount,改爲可讀寫,然後繼續拷貝)

重新mount方法如下:
mount (從屏幕列出來的mount數據中找到/system的mount信息,空格隔開的,第一列表示設備名,第二列表示目錄,第三列表示文件系統,第四列表示權限。網上其他教程在這一步都直接列出了他們的命令,由於設備名和文件系統不一樣,所以執行不成功)
mount命令爲:mount -o remount,rw -t 第三列信息 第一列信息 /system
如下圖,注意看圈紅的地方:
這裏寫圖片描述
mount成功後,再執行上面說的文件copy的步驟,然後就能copy到 /system/xbin目錄下了
需要改下文件的權限,命令: chmod 4755 /system/xbin/sqlite3
最後運行下,sqlite3,發現成功了吧

注意:有些手機可能還需要導入sqlite的依賴庫,我沒有遇到過,就不敘述了,方法跟上面差不多。

下載地址:
http://download.csdn.net/detail/shaoqianting/8885867