【问题标题】:Problem pulling file from emulator using GUI -OR- adb command使用 GUI -OR- adb 命令从模拟器中提取文件时出现问题
【发布时间】:2011-07-07 08:07:58
【问题描述】:

我正在 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)”或任何暗示成功提取的信息,但文件不存在。

【问题讨论】:

标签: android sqlite adb pull


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您是否要从/data/data/your.application.name 中提取信息?你在生产电话吗?如果是这样,你可能不走运;生产手机不允许访问该目录。

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

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

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

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

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

    【讨论】:

    • 好吧,重启这台愚蠢的电脑,GUI pull 就可以工作了。不过,我很好奇,如果您没有在命令行拉取路径名,它只是将其写入您正在执行 adb.exe 的目录还是???
    • 不,它在向你抱怨。 adb 可能是我遇到过的最好的移动开发工具之一(例如,有一天尝试一下 Symbian),但仍有待改进......
    • 问题的标题清楚地表明问题是在模拟器而不是生产手机上遇到的。
    【解决方案3】:

    你只需要 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 中的 pull 按钮,就会出现错误。 但是你需要做的是输入最后一个命令:

    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
    

    【讨论】:

      【解决方案4】:

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

      【讨论】:

      • 手机重启、Eclipse 重启还是 PC 重启?
      【解决方案5】:

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

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

      【讨论】:

        猜你喜欢
        • 2022-10-13
        • 1970-01-01
        • 2011-09-29
        • 2020-09-10
        • 2021-05-24
        • 2023-03-10
        • 2013-05-29
        • 2011-10-26
        • 1970-01-01
        相关资源
        最近更新 更多