abd方式连接到设备shell操作数据库(使用sqlite3)


今天在mac下通过adb的方式连接到安卓设备的shell,并使用sqlite3来操作数据库。期间遇到了许多问题,现在在这里跟大家分享一下。

前期准备工作:

1、配置adb环境变量,可以参考我的这篇文章:mac设置adb环境变量

2、连接到手机端的shell。解释一下3步的含义。

①、列举出所有的设备 adb devices

②、连接设备, -s后面跟的是设备id,由①处查询的结果 adb -s xxxxxx shell

③、取得超级管理员权限


     


3、sqlite的常用命令

sqlite3 dbname.db //打开数据库

.tables  //列举所有表结构

//打开字段名称显示

.mode column

.header on

退出sqlite模式:control+d,(control是fn右边的那个按键)

4、adb shell常用命令,详细参考:http://www.cnblogs.com/devinzhang/archive/2011/12/17/2291396.html

adb logcat //将设备日志输出到屏幕上 详细参考:http://developer.android.com/tools/debugging/debugging-log.html

logcat | grep "^..HttpUtility"  //tag为HttpUtility

logcat | grep "^..HttpUtility\|^..GlobalContent" //tag为HttpUtility或GlobalContent



附,手机上安装sqlite3。默认情况下,会在手机的/system/xbin/目录下有一个叫sqlite3的文件,它就是设备上用来操作数据库的工具。

假如没有这个文件,则需要从别的设备上拷贝一个。我是通过在mac上建一个虚拟设备然后把sqlite拷贝出来,然后再拷到手机。

注意:新建的虚拟设备的api版本需要跟手机的api版本一致,例如都是4.2.2的。否则会出错。

1)、在DDMS窗口的File Explorer面板下展开system > xbin,找到sqlite3 ,点击右上角的软盘图标(pull a file from the device) 将其保存到本地电脑其他位置,然后再push到手机的sdcard中。

2)、连接到手机的shell,获取管理员权限(#代表有权限,$代表没有管理员权限),使用命令 su,然后输入密码

3)、获取手机system目录的读写权限,命令:#mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

4)、进入手机sdcard,把文件拷贝到/system/xbin/下:#adb push sqlite3 /system/xbin/sqlite3

5)、修改sqlite3的权限:#chmod 4755 /system/xbin/sqlite3

6)、最后,记得把system目录的权限改回去,还原成只读:# mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system



参考:

1、http://blog.chinaunix.net/uid-635442-id-2698555.html

2、http://panxq0809.iteye.com/blog/1264785

3、http://blog.csdn.net/leon90dm/article/details/8913180

4、http://www.jizhuomi.com/android/environment/191.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值