利用adb 访问手机SQlite 遇到问题及解决办法

来源:互联网 发布:mysql表导出excel 编辑:程序博客网 时间:2024/04/29 17:05

利用adb 访问手机SQlite 遇到问题及解决办法

一、手机得先具有Root 功能:

如果手机还没root ,可使用360手机助手里边的一键ROOT

1、首先将手机连接360手机助手。

 

 

2、点击“我的手机”---管理预装软件----一键Root

 

3、等待其完成即可

 

二、通过adb shell指令进入#界面

1、控制台输入adb shell 命令后可能出现类似 adb 不是内部指令等错误。

原因:说明adb 配置不正确,android2.2android2.3是不一样的,在2.2中,adb.exe是在tools文件夹下,而在2.3中,则在platform-tools文件夹下。

办法:需要将Android SDK安装路径下的adb.exe文件的目录添加到系统的环境变量中。

所以,将以下路径(我的SDK安装路径下)

D:\adt-bundle-windows-x86-20130917\adt-bundle-windows-x86-20130917\sdk\platform-tools加到系统变量Path中即可。

计算机——属性——系统保护——高级——环境变量------系统变量

 

注意:不要更改原有路径,在原有路径后添加分号,再将复制新的路径上去即可。

2、上述之后,可能输入adb root 后又会出现"adbd cannot run as root in production builds"

原因:root充分的手机安装adbd

办法:首先,在手机端安装Superuser Permissions软件并打开,使手机获取超级用户权限能让在已经ROOT的设备上强制以ROOT模式运行adbd ;接着,输入adb shell 进入的可能是shell@android:/ $ 界面而不是#界面,这时候需要su一下才进入#

三、访问sqlite 数据库

1、当输入sqlite3 想访问建立的数据库后,可能又会遇到sqlite3 not found 问题。

原因:system/xbin目录下缺少sqlite3文件。

办法:往system/xbin导入sqlite3文件。

首先运行虚拟机,在DDMS---File Explorer视图下system/xbin/下找到sqlite3导出到桌面等地方

 

接着类似办法将导出的sqlite3导入到 真机/mnt/sdcard目录下

当执行cat /mnt/sdcard/sqlite3 > /system/xbin/sqlite3 命令时候可能会出现

sh: can't create /system/xbin/sqlite3: Read-only file system问题。

原因:/system是只读的,此时需要重新mount,改为可读写,然后才能继续拷贝 。注意mount (从屏幕列出来的mount数据中找到/systemmount信息,空格隔开的,第一列表示设备名,第二列表示目录,第三列表示文件系统,第四列表示权限。开始时候直接根据网上教程输入指令都不成功,是由于设备名和文件系统不一样,所以需要根据自个机子的mount信息来重新mount)

 



重新mount后 再执行cat /mnt/sdcard/sqlite3 > /system/xbin/sqlite3 命令复制文件,如上图,还需要注意改下文件的权限,命令: chmod 4755 /system/xbin/sqlite3,最后运行sqlite3成功。

0 0