簡體   English   中英

如何從adb shell安裝或訪問sqlite3

[英]How to install or get access to sqlite3 from adb shell

我需要一種方法來安裝或以某種方式訪問​​adb shell中的sqlite3。 我根植了我的設備。

我試圖找到一個答案,但我可以接受的是: 當我嘗試使用adb shell打開數據庫時,為什么在root用戶的Nexus One上出現“sqlite3:not found”錯誤?

但我不認為在Linux系統上推送我的Windows sqlite3.exe是個好主意?

那么有可能以某種方式安裝sqlite3終端瀏覽器嗎?

[解]

從不同的評論和一些在#android-dev(irc)詢問,我找到了一個解決方案。 首先,我將數據庫文件復制到我的桌面。 但拳頭我不得不安裝BusyBox,因為不包括cp?!? 在那之后,我遇到了一個問題,除了/ sdcard /之外我無法從任何地方拉或推。 然后我可以使用/ sdcard /作為“中間站”並拉/推我的數據庫。

然后我筋疲力盡! 我真的不得不讓我的sqlite終端探索。 然后我有了啟動模擬器從/ system / xbin / sqlite3拉出sqlite二進制文件的想法。 然后使用rw重新安裝/系統:

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

並將sqlite推送到/ sdcard /,並從那里將其復制到/ system / xbin /

現在它起作用了:D

從谷歌播放下載此應用程序將幫助您在Android上安裝sqlite3 https://play.google.com/store/apps/details?id=ptSoft.util.sqlite3forroot

您可以使用adb shell執行此操作而不會出現問題。

在終端或CMD中(假設您已設置ADB路徑並且您的手機具有ROOT)鍵入:

  1. $ adb shell
  2. $ cd data/data/com.nameofyourpackage/databases/
  3. $ ls to find the name of your database
  4. $ sqlite3 nameofyourdb.db

然后,您可以使用.tables .schema查看創建相應查詢所需的數據。

我使用Rajath的技術...... Adb從模擬器/設備“拉”數據庫,對其進行處理,然后adb“推”回模擬器設備。

另外:我使用Android Market的免費SQLite編輯器。 我還沒有扎根我的LG Ally,因此只能使用SQLite編輯器在我的SD卡上編輯數據庫表。

Rajath建議使用adb來推送和從模擬器/設備中提取數據庫。 使用windows(或其他)sqlite3程序對數據庫進行的工作。 他不建議將Windows sqlite3放到Android設備上,恕我直言。

我注意到java / android“query()”通過用戶輸入將實際的SQL命令發送到一個程序。 我得出結論,sqlite3在Android的某個地方。

使用模擬器時,Dev Tools可用,而列表底部的下方是終端模擬器。 這允許在模擬器中探索Android的文件結構。 但是,從PC使用“adb shell”具有root權限。

祝好運。 仙人掌米奇

您不需要root來從設備中提取數據庫。 只需運行以下命令:

adb shell run-as <package-name> "cp databases/<db_name>.db /sdcard/ && exit"
adb pull /sdcard/<db_name>.db ~/Downloads/

從那里,您可以將sqlite3用於您正在使用的任何操作系統( http://www.sqlite.org/download.html ),或者使用sqlite瀏覽器,例如“DB Browser for SQLite”( http:// sqlitebrowser。組織/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM