在Android设备上访问sqlite数据库

rog*_*gcg 11 sqlite android

我正在尝试访问设备上的sqlite数据库文件.我的意思是,我已经通过adb在设备上启动了应用程序.现在我想通过DDMS在仿真器上下载此文件.但是当我在DDMS上选择设备并打开文件夹数据时,它是空的.

这是正确的方法吗?或者还有另一种方法可以下载此db文件.

谢谢.

bwt*_*bwt 36

只要应用程序是可调试的,您就可以访问没有root的数据文件夹

<application
 ...
        android:debuggable="true"
 ...
Run Code Online (Sandbox Code Playgroud)

列出基目录:

adb shell "run-as com.your.package ls -l"
Run Code Online (Sandbox Code Playgroud)

要复制文件:

adb shell "run-as com.your.package cat relative/path > /sdcard/some_name"
adb pull /sdcard/some_name
Run Code Online (Sandbox Code Playgroud)

不幸的是,前ICS run-as非常缺陷.通常的症状是

run-as: Package 'com.your.package' is unknown
Run Code Online (Sandbox Code Playgroud)

信息.


Cri*_*ian 3

adb直接尝试过吗?

adb pull /data/data/the.package.of.the.app/databases/the_name_of_the_database.db
Run Code Online (Sandbox Code Playgroud)

  • 这可能不适用于未 root 的设备 (3认同)