cmd下访问内部数据库

1、首先root手机。
2、cmd-->D:\>cd D:\qiang\android-sdk\platform-tools
3、输入adb shell,回车输入su,获得管理员权限。提示/system/bin/sh: su: not found,证明手机还没有root,需要root;
内容如下:
D:\qiang\android-sdk\platform-tools>adb shell
shell@dior:/ $ su
su
/system/bin/sh: su: not found
127|shell@dior:/ $
如图:

4、root成功之后,重新操作,如下图:

5、访问/data/data/文件夹,如果上述没有获取su权限,则会出现opendir failed permission denied提醒,表示需要获取su权限。
如图:

6、访问文件夹 ls表示显示文件夹内所有文件:


7、sqlite3 xxx.db,提示sqlite3:not found,原因:sqlite3 为一个可执行脚本程序,在system/xbin/下面,某些品牌手机rom 不带这个东西,导致没有该工具。
其实主要是/system/xbin/目录下没有sqlite3文件。

解决办法:
先去其他手机中拷贝或者下载sqlite3文件,然后在eclipse的DDMS面板中通过右上角手机图标(push a file onto the device) 将文件push到sdcard中,准确的是在/mnt/sdcard。

然后,cat/mnt/sdcard/sqlite3 > /system/xbin/sqlite3将sdcard中的sqlite3文件移动到 /system/xbin/文件夹中,提示permission denied。
解决:
[1]、让/system文件夹可读写
$ adb shell # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
[2]、cat/mnt/sdcard/sqlite3 > /system/xbin/sqlite3;
ok,检查手机/system/xbin下多了一个sqlite3文件,不过还不能执行;
[3]、修改 sqlite3 权限
chmod 4755 /system/bin/sqlite3                                           
[4]、设置 /system为只读文件
mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system
通过上面的4个步骤就可以使用 sqlite3 命令来操作 SQLite 数据库了。
sqlite3 xxx.db;
sqlite>tables;


猜你喜欢

转载自luke-feng.iteye.com/blog/2240278
今日推荐