【问题标题】:upload picture to emulator gallery将图片上传到模拟器库
【发布时间】:2011-07-06 07:45:02
【问题描述】:

我想在模拟器的图库中添加图片。但我无法做到这一点。这个怎么做?任何线索!虽然我已经完成了在 stack over flow 中发布的答案,但没有获得成功。

【问题讨论】:

    标签: android android-emulator android-gallery


    【解决方案1】:

    检查this 在您的模拟器中有虚拟 SD 卡后,如果您对mtools 不满意,或者如果您不知道如何在 Linux 上挂载环回设备(通过方式),只需使用adb push 上传您的图片。可能的例子:

    adb shell mkdir /sdcard/Pictures
    adb push mypic.jpg /sdcard/Pictures
    

    【讨论】:

    • 我的 /sdcard/photos 的 mkdir 失败,只读文件系统 @Felix
    • 您可能还需要设置写入权限。 adb shell , mount -o rw,remount rootfs / , chmod 777 /mnt/sdcard , exit 然后尝试复制图片 adb push mypic.jpg /sdcard/Pictures
    【解决方案2】:

    您还可以使用 Eclipse 中的 DDMS 工具将文件推送或拉取到模拟器上。在 2.2 模拟器上,我能够使用 DDMS 将一些 .jpg 图像推送到 /mnt/sdcard/DCIM/100ANDRO 文件夹中。然后我必须进入正在运行的模拟器本身,从应用程序屏幕中选择“Dev Tools”,选择“Media Scanner”(或较新版本的 Android 中的“Media Provider”)以让模拟器识别文件,以便它们会显示在媒体库中。

    【讨论】:

    • 运行媒体扫描仪是必不可少的。如果没有这一步,我的模拟器永远看不到图像。很好的答案!
    • 谢谢,这个答案很棒。
    • 即使媒体提供程序不起作用,它也不会刷新图库
    • 很好的答案,刚刚在这里拯救了我的一天!
    • 我也找不到它(棒棒糖)。您可以使用以下命令从 adb shell 运行它:am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///mnt/sdcard/DCIM/100ANDRO/
    【解决方案3】:

    首先要做的是在模拟器的存储中获取图像。为此,您有多种选择。我将在这里列出最常见的选项。但首先需要注意的是需要在模拟器上扫描此媒体。正如费尔比在另一个答案中指出的那样。

    图片的放置位置

    将来自相机的图像放在设备上的标准位置(对于我迄今为止测试过的设备)是/mnt/sdcard/DCIM/100ANDRO

    但是,由于无论如何我们都需要手动扫描,您可以将它们放在/mnt/sdcard/Pictures 或(模拟)sdcard 上的任何其他有效路径。

    /sdcard/ 路径链接到/mnt/sdcard/,所以它也可以工作。我之所以提到这一点,是因为我在另一个答案中看到了这条路径。

    如何上传图片到模拟器

    使用亚行

    对于铁杆用户,请从命令行执行 adb push。如果您不知道如何使用 adb,我建议您阅读 this help article。确保为您的系统正确设置了路径,adb devices 至少返回一个设备(如果更多,请在命令中指定设备)。

    adb push /path/to/image.jpg /mnt/sdcard/DCIM/100ANDRO
    

    使用 Eclipse (ADT)

    您可以通过单击 ADT 中的某些按钮来实现相同的目的。转到 DDMS 透视图,然后在文件资源管理器中选择顶部的图标。详情请查看下方图片。

    image linked from http://cdn.cybersectors.com/

    扫描媒体

    不要忘记的一个重要步骤是在 Android 模拟器上执行此工具。如果您跳过此操作,图库将保持为空。非常感谢 Felby 指出这一点。

    然后我不得不进入正在运行的模拟器本身,从应用程序屏幕中选择“开发工具”, 选择“媒体扫描仪”(或较新版本的“媒体提供程序” Android)让模拟器识别文件,这样它们就可以 显示在媒体库中。

    【讨论】:

    • 使用 genymotion 我只需要在推送图像后重新启动模拟器 - 它工作正常!
    • 我用 /mnt/sdcard/pictures 修复并重新启动模拟器..Thz..它工作正常。
    • 我选择了媒体提供商,我该怎么办?
    • 媒体提供商的“扫描 SD 卡”导致“开发工具已停止工作”。有什么解决办法吗?
    【解决方案4】:

    如果您需要任何图像,只需从模拟器的浏览器访问 google.com,然后根据需要搜索图像并单击图像。打开时选择图像的全尺寸选项,然后按住鼠标几秒钟,这将为您提供保存选项。您也可以在上下文菜单中搜索选项。

    希望这对某人有所帮助。

    【讨论】:

      【解决方案5】:

      我可以通过这种方式将图像放入我的 SD 卡中:

      1. 从 USB 断开我的手机

      2. 使用 adb push 命令行和文件夹 storage/sdcard 而不是 /sdcard,示例

        D:\adt-bundle-windows-x86-20131030\sdk\platform-tools>adb push "d:\star.jpg" storage/sdcard

      3. 关闭模拟器并再次运行

      4. 我检查 Eclipse -> DDMS -> 文件资源管理器 选项卡,我看到 storage/sdcard 文件夹中的图像

      【讨论】:

        【解决方案6】:

        扫描媒体有时可能会停止开发人员工具...如果是这样,使用上图提到的 DDMS 模式将文件推送到 storage/sdcard/DCIM 文件夹中,然后重新启动模拟器....

        【讨论】:

          【解决方案7】:

          我用过这个,它对我有用 adb push "C:/image.jpg" /mnt/sdcard/DCIM

          然后运行媒体提供程序(在开发人员工具中) :)

          【讨论】:

          • “媒体提供者(在开发者工具中)”指的是什么?我在“平台工具”中没有看到类似的东西。
          【解决方案8】:

          您可能还需要设置写入权限。 亚行外壳
          mkdir /sdcard/图片 mount -o rw,重新挂载 rootfs / chmod 777 /mnt/sdcard 退出
          然后尝试复制图像
          adb push mypic.jpg /sdcard/图片

          【讨论】:

            【解决方案9】:

            还是很烦,这里有一些说明:

            1. 使用 adb 将文件复制到模拟器
            adb push MyPictures/* /sdcard/Pictures
            
            1. 重启设备,让安卓系统检查新媒体文件
            adb reboot
            

            然后文件应该会显示出来!重启超级烦人,但这是我能找到的最可靠的方法。

            注意:

            此脚本旨在刷新媒体库,但我无法让它工作:

            adb shell "am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN_FILE -d file:///sdcard/Pictures/"
            

            【讨论】:

            • 我认为您应该对文件夹下的每个 文件 运行此广播命令,该命令不会递归处理文件
            猜你喜欢
            • 1970-01-01
            • 2021-10-23
            • 2021-11-27
            • 2023-03-18
            • 1970-01-01
            • 1970-01-01
            • 2013-04-23
            • 2015-02-22
            • 2011-07-07
            相关资源
            最近更新 更多