原文地址: http://blog.csdn.net/johnnycode/article/details/45619185
其实这个问题可能是每个Android开发工程师都会遇到,如果你喜欢导出到PC端进行查看也没问题,但是如果需要修改某个状态位反复测试时就显得太累了!如果你和我一样喜欢偷懒那么本文适合你~
操作步骤:
一、确认手机具有 root 权限
说白了就是 adb shell 命令可以显示 # ,如果显示 $ 说明权限不够,因为需要操作 /system 目录必须拥有管理员权限,如果没有可以自行 root !
adb shell
root@android:/ #
多说两句,如果你 adb shell 连接到手机后需要 su 命令才可以切换 # ,说明你使用的 root 工具获取管理员权限不彻底,在使用某些 adb shell 操作需要管理员权限文件时无法操作!
直接绕晕了吧?程序员还是看命令吧!例如有时我们在PC端查看 android 上自己应用的 preferences.xml 文件,就会提示你权限不足!
$ adb shell cat /data/data/com.abc.mobile/shared_prefs/com.abc.mobile_preferences.xml
解决很简单,下载一个 adbd 安装上,具体安装操作自行度娘!
二、下载 sqlite3
方法也分好多种,比较靠谱的方法时自己建立一个对应版本虚拟机,然后从虚拟机中复制出来!
注意事项:
确定虚拟机版本一致性,例如Adnroid版本(4.0.3还是4.1.2) 硬件架构(ARM还是X86),因为我平时虚拟机用 Genymotion ,但导出Sqlite3时没注意是 X86 架构的所以配置过程全是眼泪....
如果手机使用 root 软件root过一般都会安装 busybox 工具箱,不放心的话使用工具箱内 uname 命令查看!
$ adb shell
# uname -a
Linux localhost 3.4.0-perf-g81d1c18 #1 SMP PREEMPT Fri Aug 16 16:48:46 KST 2013 armv7l GNU/Linux
这部手机就是 arm v7l版本 !
如果你需要 Android 4.1.2 ARM 版 Sqlite3,传送门在此!!!
三、配置 sqlite3
配置过程就简单很多,度娘一番摘抄如下两句!
很多配置方案中都有有挂载 /system 为读写方式,可能在早期版本中是有这么个设备文件的,但实际上 Android 4.1.2 是没有这个设备文件的!
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
所以我们只需要两个步骤,打开冰箱,放入大象?当然不是了!
1、push sqlite3 到 /system/xbin 目录
adb push sqlite3 /system/xbin
2、赋予 sqlite3 系统执行权限
此时sqlite3权限中只有读写权限是没有执行权限!
$ adb shell
# cd /system/xbin
# ll
-rw-rw-rw- root root 36860 2015-05-10 11:00 sqlite3
赋予 sqlite3 系统级别执行权限
# chmod 4755 sqlite3
root@android:/system/xbin # sqlite3
SQLite version 3.7.11 2012-03-20 11:35:50
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
感谢以下作者: