在项目开发中经常用到SQLITE数据库,但Android设备种类太多这样常规导出数据库的方法便不可用了。今天遇到一奇葩机型三星的gt s6352。在root之后。
本以为用adb pull 就可以导出数据库文件了。悲剧发生了adb pull 导出文件失败。原因是adb shell 没有获取最高权限 。只有adb shell 进行SU 才可获取 。这样的话 adb pull 就不好使了 。网上说 用 超级ADBD 软件可以结局 。经实验后也不好使(启动超级adbd后手机usb自动断开连接)。经过摸索找出了一种不是很方便的导出数据库的方法(真心不想用反应慢慢的模拟器)。
一,root手机 。
二 ,连接手机 adb shell 并 SU 获取root 权限。
三 , 修改程序数据库文件 权限 chmod 777 (具体参考 linux 命令大全)
四 ,用eclipse的DDMS 导出数据库
虽然有些繁琐 ,但可以成功导出真机数据库。