Home » Android » java – How to create SD card to use in Android Studio's emulator?

java – How to create SD card to use in Android Studio's emulator?

Posted by: admin June 15, 2020 Leave a comment


I need to download mp3 files to an sd card in Android Studio and then read them, firstly, how can i create an SD card for my emulator? Secondly, how can I add files to it? I’m a beginner so a step by step explanation would be welcome.

How to&Answers:

Android Studio 3.1.1

1.Create a emulator : Tools > AVD Manager , And run it

2.Open file system explorer :View > Tool Windows > Device File Explorer

3.In Device File Explorer : Click right button , u will see Upload and Save as


enter image description here


enter image description here

enter image description here


Use the mksdcard tool to create a FAT32 disk image that you can load into emulators running different Android Virtual Devices (AVDs) to simulate the presence of the same SD card in multiple devices. If you do not need a disk image that can be shared among multiple virtual devices, you do not need to use the mksdcard command. By default the emulator uses the default image that is generated by and stored with the active AVD instead.

Create the mySdCardFile.img disk image:

mksdcard -l mySdCard 1024M mySdCardFile.img

Start two emulators with different AVDs.
Use the -sdcard flag to specify the name and path of the disk image you created.

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

Reference :



first take your Android “Virtual Device Manager”(AVD Manager on the top with a phone icon) and click on the “pencil icon”(edit) for editing your emulator then click “Show Advanced Settings option” there you can see a radio button for SD Card select ” External file” insted of Studio-managed and provide your path and click on finish.

(AVD Manager>edit(pencil icon)>Show Advanced Settings option>External file)


I did the following steps to create an external sdcard Image

Step 1:
Navigate to your android sdk directory and to the following directory inside it.


Step 2:
Ensure that there is a executable file named mksdcard.

Step 3:
Create another directory to store the image file(.img file) that is going to be created in the next step. Lets call this directory as image_dir

Step4: Execute the following command

./mksdcard -l mylabel 1024M image_dir/sdcard.img

Now the .img file would have been created.

Step 5: Now edit your emulator in the AVD manager and select Advanced Settings , under the Memory and Storage section select external file radio button for Sd Card and choose the .img file that was created in step 4.

Happy emulated Storage


I suggest you use Genymotion for this its working awesome.

Here is the brief:

Go to your VirtualBox VM setting / Shared folder tab.

Add a shared folder with the folder you want to share, and check the
“auto mount” option.

Start your VM as usual from the Genymotion software.

Your shared folder is available in the /mnt/shared directory (multiple
shared folders are supported)

Accessing files from Genymotion sd card


I had the same problem. I needed a lot of space for saving images in the emulator. My solution was creating an image sdcard and attach it to emulator. I followed these steps:

1 ) Create an image of external sdcard:

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

2 ) Create an emulator with the external sdcard:

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

3 ) I searched for the external storage path with adb shell because the path to push the files is not very intuitive.

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

4 ) Push the files into external storage path

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

I wrote all of the steps because I searched a lot for pushing the files into external storage and not into internal storage