Android 如何从adb外壳安装或访问sqlite3

Android 如何从adb外壳安装或访问sqlite3,android,sqlite,adb,Android,Sqlite,Adb,我需要一种在adb shell中安装或以某种方式访问sqlite3的方法。我已经在我的设备上安装了根 我试图找到一个答案,但我能找到的答案是: 但是我认为在linux系统上推送我的WindowsSQLite3.exe不是个好主意 那么,是否有可能以某种方式安装sqlite3终端浏览器呢 [解决方案] 从不同的评论和一些在安卓开发者(irc)的询问中,我找到了一个解决方案。首先,我将数据库文件复制到我的桌面上。但首先我必须安装BusyBox,因为cp不包括在内?!?在那之后,我遇到了一个问题,除

我需要一种在adb shell中安装或以某种方式访问sqlite3的方法。我已经在我的设备上安装了根

我试图找到一个答案,但我能找到的答案是:

但是我认为在linux系统上推送我的WindowsSQLite3.exe不是个好主意

那么,是否有可能以某种方式安装sqlite3终端浏览器呢

[解决方案]

从不同的评论和一些在安卓开发者(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

我使用拉贾斯的技术。。。Adb从仿真器/设备中“拉”出db,对其进行操作,然后Adb将其“推”回仿真器设备中

此外: 我使用安卓市场的免费SQLite编辑器。我没有根我的LG盟友,因此只能用SQLite编辑器编辑SD卡上的数据库表

Rajath建议使用adb在模拟器/设备之间推拉数据库。使用windows(或其他)sqlite3程序在数据库上的工作。他不建议在安卓设备IMHO上安装WindowsSQLite3

我注意到java/android“query()”通过用户输入将实际的SQL命令以编程方式发送到程序中。我的结论是sqlite3在Android中的某个地方

当使用emulator开发工具时,列表底部是终端emulator。这允许在模拟器中探索Android的文件结构。但是,从PC使用“adb外壳”具有根权限


祝你好运。cactus mitch

从google play下载此应用程序将帮助您在android上安装sqlite3

您可以使用adb shell完成此操作,而不会出现问题

在terminal或CMD(假设您已设置ADB路径,并且您的手机具有ROOT)中,键入:

  • $adb shell
  • $cd data/data/com.nameofyourpackage/databases/
  • $ls以查找数据库的名称
  • $sqlite3 yourdb.db的名称

  • 然后,您可以使用
    .tables
    .schema
    查看创建相应查询所需的数据。

    从设备中提取数据库不需要root用户。只需运行以下命令:

    adb shell run-as <package-name> "cp databases/<db_name>.db /sdcard/ && exit"
    adb pull /sdcard/<db_name>.db ~/Downloads/
    
    adb shell作为“cp databases/.db/sdcard/&&exit”运行
    adb pull/sdcard/.db~/下载/
    

    从那里,您可以对正在使用的任何操作系统()使用sqlite3,或者使用sqlite浏览器,如“DB browser for sqlite”(

    “我需要一种方法在adb shell中安装或以某种方式访问sqlite3”——为什么?如果您已经在设备上建立了根目录,只需下载数据库并使用“windows sqlite3.exe”或更好的SQLite客户端(例如,Firefox的SQLite Manager扩展)查看它。在设备上安装
    sqlite3
    有什么好处?如果你想玩你应用程序的db,为什么不把db拉出来,在你的PC上操作它呢?我如何从adb外壳中使用sqlite3浏览器?我需要从终端执行CRUD…太棒了!您需要将您所做的作为解决方案发布,并接受它。当我执行ls命令查找数据库时,我的权限被拒绝。有什么问题吗?您必须在模拟器上或根目录下。能够从主机上运行它会很好。例如:
    adb shell sqlite3/data/data/com.android.providers.settings/databases/settings.db“从“安全”中选择*”。在我的情况下,它得到堆栈,我必须登录到adb shell并从那里运行它。