我希望在模拟器的相册中添加图片,但是我无法实现。如何做到呢?有什么线索!虽然我已经查看了Stack Overflow上发布的一个答案,但没有成功。
我希望在模拟器的相册中添加图片,但是我无法实现。如何做到呢?有什么线索!虽然我已经查看了Stack Overflow上发布的一个答案,但没有成功。
检查this。一旦在模拟器中有了虚拟SD卡,如果您不熟悉mtools
或者不知道如何在Linux上挂载回环设备(顺便说一下,这很容易),只需使用adb push
上传您的图像。可能的示例:
adb shell mkdir /sdcard/Pictures
adb push mypic.jpg /sdcard/Pictures
你还可以使用Eclipse中的DDMS工具将文件推送或拉取到模拟器上。在2.2模拟器上,我使用DDMS成功将一些.jpg图像推送到/mnt/sdcard/DCIM/100ANDRO文件夹中。然后,我必须进入正在运行的模拟器本身,在应用程序屏幕中选择“开发工具”,然后选择“媒体扫描器”(在较新版本的Android中选择“媒体提供程序”),以使模拟器能够识别这些文件,从而在媒体库中显示它们。
首先要做的是获取模拟器存储中的图像。您有几个选项可供选择。我将在此列出最常见的选项。但首先,对于需要在模拟器上扫描此媒体的需求,需要注意一个重要问题,正如Felby在另一个答案中指出的那样。
到目前为止,我测试过的设备上,从相机中获取的图像的标准位置是/mnt/sdcard/DCIM/100ANDRO
。
然而,由于我们无论如何都需要手动扫描,因此您可以将它们放在/mnt/sdcard/Pictures
或(emulated) sdcard上的任何其他有效路径中。
/sdcard /
路径链接到/mnt/sdcard/
,因此也可以使用该路径。我只是提到了这一点,因为我在另一个答案中看到了这个路径。
对于高级用户,可以从命令行执行adb push
。如果您不知道如何使用adb,我建议您阅读此帮助文章。确保您的系统路径设置正确,并且adb devices
返回至少一个设备(如果有多个,请在命令中指定设备)。
adb push /path/to/image.jpg /mnt/sdcard/DCIM/100ANDRO
您可以通过在ADT中点击一些按钮来实现相同的功能。进入DDMS透视图,在文件浏览器中选择顶部的图标。有关详细信息,请参阅下面的图片。
图片链接自http://cdn.cybersectors.com/
一个重要的步骤是在Android模拟器上执行此工具,否则图库将保持为空。非常感谢Felby指出这一点。
然后我必须进入正在运行的模拟器本身,从应用程序屏幕中选择“Dev Tools”,然后选择“Media Scanner”(或在新版Android中选择“Media Provider”)以使模拟器识别文件,以便它们在媒体图库中显示。
从USB上断开手机连接
使用 adb push 命令行,使用文件夹 storage/sdcard 而不是 /sdcard ,例如:
D:\adt-bundle-windows-x86-20131030\sdk\platform-tools>adb push "d:\star.jpg" storage/sdcard
关闭模拟器并重新运行
我在 Eclipse -> DDMS -> File Explorer 选项卡中检查,发现图像在 storage/sdcard 文件夹中
如果仍然感到困扰,以下是一些说明:
adb push MyPictures/* /sdcard/Pictures
adb reboot
然后文件应该会出现!重新启动非常烦人,但这是我能找到的最可靠的方法。
注意:
这些脚本旨在刷新媒体库,但我无法使其正常工作:
adb shell "am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN_FILE -d file:///sdcard/Pictures/"
你可能需要设置写入权限。
adb shell
mkdir /sdcard/Pictures
mount -o rw,remount rootfs /
chmod 777 /mnt/sdcard
exit
然后尝试复制图片
adb push mypic.jpg /sdcard/Pictures