如何创建SD卡以在Android Studio模拟器中使用?

13

我需要在Android Studio中将MP3文件下载到SD卡,然后读取它们。首先,我该如何为模拟器创建一个SD卡呢?其次,我该如何向其中添加文件?由于我是初学者,所以希望有一步一步的解释。


1
请点击以下链接查看与创建和使用模拟SD卡相关的编程内容:https://xjaphx.wordpress.com/2011/06/26/create-and-use-emulated-sd-card/ - Ankita
我已经成功创建了SD卡,但现在我该如何使用它呢?教程是针对Eclipse的,而我正在使用Android Studio。 - joaolell
6个回答

12

安卓开发工具Android Studio 3.1.1

1.创建模拟器:工具 > AVD 管理器,并运行它

2.打开文件系统浏览器:查看 > 工具窗口 > 设备文件浏览器

3.在设备文件浏览器中:点击右键,您将看到上传另存为

步骤1:

进入图片描述

步骤2:

进入图片描述

步骤3:

进入图片描述


10
使用mksdcard工具创建一个FAT32磁盘映像,您可以将其加载到运行不同Android虚拟设备(AVD)的模拟器中,以模拟在多个设备中存在相同SD卡的情况。如果您不需要一个可在多个虚拟设备之间共享的磁盘映像,则不需要使用mksdcard命令。默认情况下,模拟器使用由活动AVD生成和存储的默认映像。
示例 创建mySdCardFile.img磁盘映像:
mksdcard -l mySdCard 1024M mySdCardFile.img

使用不同的AVD启动两个模拟器。 使用-sdcard标志指定您创建的磁盘映像的名称和路径。

emulator -avd Pixel_API_25 -sdcard mySdCardFile.img
emulator -avd NEXUS_6_API_25 -sdcard mySdCardFile.img

参考资料:

https://developer.android.com/studio/command-line/mksdcard.html

这是一个关于使用命令行创建 Android SD 卡映像的官方文档。您可以在该文档中找到创建 SD 卡映像所需的所有命令和参数。该文档还包含了一些示例以及常见问题的解答。

抱歉,这并没有帮助到我。正如我所说,我是一个初学者,需要进一步解释如何做你刚才说的事情。 - joaolell

3

首先打开你的Android虚拟设备管理器(AVD Manager,顶部有一个手机图标),然后点击"铅笔图标"(编辑)以编辑你的模拟器,接着点击"显示高级设置选项",在那里你可以看到一个SD卡的单选按钮,选择"外部文件"而不是"Studio管理",然后提供你的路径并点击完成。

(AVD Manager>编辑(铅笔图标)>显示高级设置选项>外部文件)


现在我该如何将文件推送到它? - joaolell
1
只需将您的文件拖放到模拟器中即可。 - Pranav Ashok
非常感谢您的帮助,我已经取得了很好的进展。现在请问您有什么建议,如何获取文件路径并将其用于我的应用程序(MP3播放器)中? - joaolell
如果您发现我的答案有帮助,请接受我的答案@joaolell。 - Pranav Ashok
1
请记住,如果您克隆了设备,才能编辑此内容。https://superuser.com/questions/1431473/cant-add-external-file-as-sd-card-in-avd-emulator/1433069 - Pikachu

2

我曾经遇到同样的问题。在模拟器中保存图像需要很多空间。我的解决方案是创建一个图像sdcard并将其附加到模拟器上。我按照以下步骤操作:

1)创建外部sdcard的图像:

~/Library/Android/sdk/tools/mksdcard -l mySdCard 20G path/mySdCard.img

2) 创建一个带有外部SD卡的模拟器:

~/Libarary/Android/sdk/tools/bin/avdmanager create avd -n EMULATOR_NAME -k “system-images;android-24;default;x86” -f -c path/mySdCard.img

3) 我使用adb shell搜索外部存储路径,因为推送文件的路径不是很直观。

My sdcard path is in storage/15F5-0C07/

4) 将文件推送到外部存储路径

~/Library/Android/sdk/platform-tools/adb push localPath  /storage/15F5-0C07

我写下了所有的步骤,因为我搜索了很多关于将文件推送到外部存储而不是内部存储的方法。


1
我执行了以下步骤创建外部sd卡映像
步骤1: 进入您的Android SDK目录,然后进入其中的以下目录。
/{your_androidSdk_location}/Android/sdk/emulator 步骤2: 确保存在一个名为mksdcard的可执行文件。
步骤3: 创建另一个目录来存储将在下一步中创建的图像文件(.img文件)。让我们称此目录为image_dir。
步骤4:执行以下命令
./mksdcard -l mylabel 1024M image_dir/sdcard.img

现在,.img文件已经被创建了。
步骤5:现在,在AVD管理器中编辑您的模拟器并选择“高级设置”,在“内存和存储”部分下选择外部文件单选按钮以用于“SD卡”,并选择在第4步中创建的.img文件。
祝模拟存储愉快。

-1

我建议您使用Genymotion,它的工作效果非常好。

以下是简要说明:

进入VirtualBox VM设置/共享文件夹选项卡。

添加一个共享文件夹,并勾选“自动挂载”选项。

像往常一样从Genymotion软件启动虚拟机。

您的共享文件夹现在可以在/mnt/shared目录下访问(支持多个共享文件夹)。

从Genymotion SD卡访问文件


听起来像广告:三次包含Genymotion,没有任何关于它如何工作、什么是替代方法(例如,加载apk等)访问共享文件夹的洞察力,以及它的费用等信息。 - user2987828

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