android手机命令行下不能使用sqlite3命令查看*.db数据库文件解决办法

原文出自:http://blog.sina.com.cn/s/blog_9906ec890101knaz.html

 在命令行下不能使用sqlite3命令是因为在system/xbin目录下没有sqlite3这个可执行文件,需要向这个目录中加入sqlite3这个可执行文件,原装的android手机操作系统中是有这个可执行文件的,但由于我刷机的时候用的是一个精简的ROM,所以没有sqlite3这个文件,导致不能在命令行下查看手机内存中的数据库文件。

 一、sqlite3文件的获取
1、可以选择从网上下载,百度google一下,网上应该有不少可下载的资源
2、如果eclipse中android的插件都安装成功能正常使用的话,首先创建一个与你手机系统版本一样的虚拟机,比如你的手机系统是android4.0,那么就用AVD Manager创建一个Android4.0版本的虚拟机,然后运行这个虚拟机。虚拟机正常运行起来之后,使用eclipse中的android插件File Explorer来查看虚拟机中的目录及文件。示意图如下:
android手机命令行下不能使用sqlite3命令查看*.db数据库文件解决办法在eclipse的左下方有左图所示的一个图标,点击之后选择Other会弹出如下图所示的窗口,在窗口中选择File Explorer视图

android手机命令行下不能使用sqlite3命令查看*.db数据库文件解决办法

点击确定之后在eclipse中便打开了虚拟机中的目录结构如下图所示

android手机命令行下不能使用sqlite3命令查看*.db数据库文件解决办法

在system/xbin目录下能找到sqlite3这个文件,找到这个文件,选中,然后将这个文件从虚拟设备中取出,保存到你的电脑上,选中文件后点击下图所示图标即可将文件取出,示意图如下:
android手机命令行下不能使用sqlite3命令查看*.db数据库文件解决办法
至此,你已经获得了sqlite3文件。

二、将sqlite3文件放到手机system/xbin目录下
步骤1、将手机与电脑相连接,在电脑上通过命令行进入android手机shell命令行,并获得root权限
  详细过程:
    打开cmd窗口,
    输入adb shell(如果提示没有找到adb命令的话,请将adb.exe的路径加入到环境变量中,或者命 令行进入adb.exe所在目录下使用adb命令,此处不详细说明如何配置环境变量)
    输入su,获得root权限(如果你的手机没有root权限的话,需要首先刷root,网上一键root的软件 有很多,此处不详细说明如何刷root,刷出root后会有很多用处)
步骤2、再次通过eclipse的File Exploere视图将sqlite3文件先放到/mnt/sdcard目录下,操作步骤同 从虚拟机中取出sqlite3文件相似,不过需要选择的突变命令是Push a file onto the device(在 pull a file from the device右边)
步骤3、首先改变/system目录的只读而不可写入文件属性,然后在命令行下将sdcard下的sqlite3    文件复制到这个system/xbin目录下
  详细过程:
             输入mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
     输入cat /mnt/sdcard/sqlite3 > /system/xbin/sqlite3

过程详细示意图:
android手机命令行下不能使用sqlite3命令查看*.db数据库文件解决办法

android手机命令行下不能使用sqlite3命令查看*.db数据库文件解决办法

android手机命令行下不能使用sqlite3命令查看*.db数据库文件解决办法

三、修改sqlite3文件属性,添加可执行的权限
    输入chmod 755 /system/xbin/sqlite3,然后就可以在命令行中使用sqlite3命令查看手机内存中的.db文件了。

 如果出现sqlite3 不能使用的一些错误:可能是sqlite3的版本太低导致的,重新弄一个高版本的就可以


同时,在cmd下查询数据库时中文为乱码的解决方法(出自http://blog.163.com/starfish_yang/blog/static/686256852011414103459493/):

1、打开CMD.exe命令行窗口 
2、通过 chcp命令改变代码页,UTF-8的代码页为65001 
F:\trash>chcp 65001
执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。 

3、修改窗口属性,改变字体 
在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。 
4、通过以上操作并不能完全解决问题,因为显示出来的内容有可能不完全。可以先最小化,然后最大化命令行窗口,文件的内容就完整的显示出来了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在命令中执 SQLite 数据库中的 `.update` 操作,您可以按照以下步骤进操作: 1. 打开命令终端或命令提示符。 2. 导航到 SQLite 的安装路径(如果已将其添加到系统的环境变量中,则可以跳过此步骤)。 3. 输入 `sqlite3` 命令,然后输入数据库文件的路径,如:`sqlite3 your_database.db`。 4. 进入 SQLite 命令界面后,您可以执 `.tables` 命令查看数据库中的表格,以确保您选择了正确的表格。 5. 使用 `.schema table_name` 命令查看指定表格的结构和字段。 6. 输入 `.mode column` 命令以在结果中以列模式显示数据。 7. 输入 `.header on` 命令以在结果中包含列名。 8. 使用 `.update table_name SET column_name = new_value WHERE condition;` 格式来执更新操作。将 `table_name` 替换为要更新的表格名称,`column_name = new_value` 替换为要更新的列名和新值,`WHERE condition` 替换为更新的条件。 以下是一个示例,假设我们有一个名为 `employees` 的表格,其中包含 `id`、`name` 和 `salary` 列。我们将通过 ID 为 1 的员工来演示更新操作。 ``` sqlite> .open your_database.db sqlite> .tables employees sqlite> .schema employees CREATE TABLE employees ( id INTEGER PRIMARY KEY, name TEXT, salary REAL ); sqlite> .mode column sqlite> .header on sqlite> .update employees SET salary = 5000 WHERE id = 1; ``` 在这个示例中,我们首先打开名为 `your_database.db` 的数据库文件。然后,我们通过 `.tables` 和 `.schema` 命令查看表格的信息。接下来,我们将模式设置为列模式,并打开列头。最后,我们使用 `.update` 命令来更新 `employees` 表格中 ID 为 1 的员工的 `salary` 列为 5000。 请注意,根据您的实际情况,需要相应地修改表格名称、列名、新值和条件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值