Android:如何创建带有外部SD卡的AVD?

4

我想创建一个Android虚拟设备,以便测试最近有关向外部SD卡写入的问题。我期望在AVD文件系统中找到外部SD卡位置类似于“/storage/extSdCard/DCIM/”。您有什么建议可以帮助我完成这个任务?


我不知道仿真器是否支持这个。 - CommonsWare
我想测试在4.2+和5.0上写入外部存储的功能。不知道是否可以通过模拟器实现?(如果无法通过模拟器实现,有什么办法可以在5.0上进行测试呢?) - ab11
好的。是的,我指的是可移动存储。那么,假设我想允许用户写入可移动存储。我希望我的解决方案适用于所有版本。您有什么建议,这样的解决方案会是什么样子,以及我如何测试它? - ab11
正如我在评论中链接的博客文章所指出的那样,在Android 4.4之前,没有官方支持可移动媒体。 - CommonsWare
据我所知,你需要在硬件上测试这些案例。 - CommonsWare
显示剩余2条评论
3个回答

7

如需为您的AVD添加可移动存储,请使用以下命令:

 ~/Android/android-sdk/tools/mksdcard [memory size] [output file] 

创建SD卡镜像。 然后在高级AVD设置对话框中传递它:SD卡 -> 外部文件。 完成 :) 您可以在此处了解有关mksdcard工具的更多信息: https://developer.android.com/studio/command-line/mksdcard

内存大小以字节、千字节、兆字节或千兆字节为单位? - demosthenes
如果大小是一个简单的整数,它指定了以字节为单位的大小。您还可以通过在大小后附加K、M或G来指定以千字节、兆字节和千兆字节为单位的大小。例如,1048576K或1024M。最小尺寸为9M。Android模拟器无法使用更小的图像。最大尺寸为1099511627264字节,相当于1023 GB。 - i.shadrin

1
你可以打开 Android 设备监视器,它在 SDK 管理器旁边的 Android 符号中。一旦打开,您可以使用文件资源管理器查看文件,并在此处创建所需的文件夹/路径以使用外部 SD 卡。
有可能在尝试创建文件夹时会显示只读,如果发生这种情况,请打开命令提示符并使用 adb shell 输入以下命令:
mount -o rw,remount rootfs /
chmod 777 /mnt/sdcard
exit

这些命令来自此链接

谢谢。但我不确定您所说的查看文件并使用文件浏览器创建路径是什么意思。您是指AVD上的文件浏览器应用程序吗?如果是这样,我的AVD没有文件浏览器。 - ab11
如果使用Android Studio,则可以在“工具”、“Android”、“Android设备监视器”下找到它。请参考此链接:https://dev59.com/oXE85IYBdhLWcg3wYSVk#15515511 - Zoro

0
在macOS Mojave 1.14.3上,使用Android Studio 3.3.1时,我发现路径略有不同。
创建一个128 Gb的sd卡:
~/Library/Android/sdk/tools/mksdcard 128G sdcard.ini

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接