android sqlite3程式不存在的解決辦法

來源:互聯網
上載者:User

標籤:android   style   c   class   blog   code   

在android開發中,在使用命令列操作資料庫sqlite時,有時候會遇到sqlite3 not found的問題。這是因為你的手機沒有安裝sqlite3程式。解決辦法如下(兩種辦法結合起來解釋的更清楚!!!):

 

方法1:

sqlite3 not found的解決辦法(轉)

在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,發現成功了吧

 

 

方法2:

 

原因: sqlite3 為一個可執行程式,在system/xbin/下面,某些rom 不帶這個東西,導致沒有該工具。

解決方案:拷貝一個sqlite3進去。

步驟:

1) 讓/system檔案夾可讀寫

 

$ adb shell # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

2)開啟另外一個有sqlite3(/system/xbin/sqlite3)的模擬器或者是手機,把sqlite3匯出,並把它匯入到沒有sqlite3機器的/system/xbin下面。(可以使用DDMS完成這一操作)

 

 

$ adb push sqlite3 /system/xbin

3)修改sqlite3的許可權

 

 

# chmod 4755 /system/xbin/sqlite3

4)歡迎/system為唯讀檔案

 

 

# mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system

5)現在你就可以使用sqlite3命令了

 

 

# sqlite3 /data/data/com.mobisync.android/databases/sync.db SQLite version 3.6.22Enter ".help" for instructions sqlite> .tables android_metadata  file              sync_status

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.