使用GUI -OR- adb命令从模拟器中提取文件时出现问题

时间:2011-03-02 14:34:15

标签: android sqlite adb pull

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

  

[2011-03-01 20:15:51]无法拉动选择

     

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

所以我尝试了adb命令行,当它看起来看到文件时,它不会在HD上找到。我已尝试在路径中使用前/后斜杠的多个语法,并且文件名周围没有显式路径。我得到“374 kb / s(6144 b)”或任何暗示成功拉动的东西,但文件不存在。

5 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:1)

你想从/data/data/your.application.name拉出来吗?你在制作手机吗?如果是这样,你可能会失去运气;生产电话不允许访问该目录。

您是否指定两者源名称和目的地名称?

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

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

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

您可能会发现尝试创建AVD(模拟设备)并进行部署非常有用。 AVD不是生产设备,因此你可以做真正的手机不会让你做的事情,比如修改应用程序的私有数据区域。如果这是一个权限问题,这将解决它。

答案 2 :(得分:1)

您只需要了解这些步骤和命令:

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

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

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

(这是打开命令promt,你也可以打开命令promt并输入命令:cd C:\ Program Files(x86)\ Android \ android-sdk \ platform-tools)

3- shell打开后,输入以下命令

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

答案 3 :(得分:0)

重新启动通过GUI使用DDMS pull来解决问题。

答案 4 :(得分:0)

如果在VirtualBox上运行模拟器,则问题可能是权限。因此,使用 Alt + F1

从正在运行的模拟器中更改权限
chmod 775 myfile.db