2

我正在 Eclipse 中开发我的第一个 Android 应用程序,Win7x64,并且无法提取 SQLite 文件来检查其中的内容。我看到这个问题是使用 DDMS GUI 来拉的,这似乎有点为人所知:

[2011-03-01 20:15:51] 拉取选择失败

[2011-03-01 20:15:51](空)

所以我尝试了 adb 命令行,虽然它似乎可以看到文件,但在 HD 上找不到它。我已经尝试了多种语法,路径中带有前/反斜杠,文件名周围有引号,没有明确的路径。我得到“374 kb/s (6144 b)”或任何暗示成功提取的信息,但文件不存在。

4

5 回答 5

8

重新启动 Eclipse 为我解决了这个问题(文件菜单,重新启动选项)。

于 2011-05-27T17:14:37.570 回答
1

你想从中拉出来/data/data/your.application.name吗?你在生产电话吗?如果是这样,你可能不走运;生产电话不允许访问该目录。

您是否同时指定源名称和目标名称?

adb pull /sdcard/name.of.file.db name.of.file.db

adb 坚持目标名称是文件名,而不是目录;特别是,.表示“将文件放入 CWD”是行不通的。

除此之外,不知道。你的报告听起来有点奇怪。

您可能会发现尝试创建 AVD(模拟设备)并部署到该设备很有用。AVD 不是生产设备,因此您可以做真实手机不允许您做的事情,例如修补应用程序的私有数据区域。如果这是一个权限问题,这将解决它。

于 2011-03-02T16:16:48.470 回答
1

您只需要 adb 这一系列步骤和命令:

1- 转到您的平台工具所在的目录。

(我的是:C:\Program Files (x86)\Android\android-sdk\platform-tools)

2- 单击 Ctrl + Shitt + 鼠标右键,然后选择“在此处打开命令窗口”

(这里是打开命令提示符,也可以打开命令提示符,输入命令:cd C:\Program Files (x86)\Android\android-sdk\platform-tools)

3-打开外壳后,键入此命令

adb shell
su
chmod 777 /data /data/data 
chmod 777  /data/data/package_name_of_your_android_project
chmod 777  /data/data/package_name_of_your_android_project/databases

如果您键入,现在您可以看到数据库,如果您单击 DDMS 中的拉取按钮,则会出现错误。但是您需要做的是输入最后一个命令:

chmod 777  /data/data/package_name_of_your_android_project/databases/your_database_name

因此,这些是完整的命令序列:

adb shell
su
chmod 777 /data /data/data 
chmod 777  /data/data/package_name_of_your_android_project
chmod 777  /data/data/package_name_of_your_android_project/databases 
chmod 777  /data/data/package_name_of_your_android_project/databases/your_database_name
于 2014-04-10T15:11:53.573 回答
0

重新启动解决了通过 GUI 使用 DDMS 拉取的问题。

于 2011-03-02T20:22:35.537 回答
0

如果您在 VirtualBox 上运行模拟器,问题可能出在权限上。Alt因此,使用+F1和更改正在运行的模拟器中的权限

chmod 775 myfile.db
于 2012-08-06T11:34:56.897 回答