I am using a custom ringtone. It is a mp3 which is stored on the external SD card.

When my phone is connected via USB to my computer and the SD card is mounted, my phone uses a default ringtone on incomming calls.

How can I use a custom ringtone without SD card?

5 Answers 5


If you have root, it is possible, but not really recommended. If you do not have root, then you cannot. The file system is designed to be readonly and you can't add additional files to the system.


The ringtones in the internal memory reside in /system/media/audio/ringtones directory (and this is part of the system partition).

You need to have root privileges and you can move the ringtone(s) into the above said directory in debug mode (adb) and booting into recovery. I have a Galaxy S4 (TMobile-US) also codenamed jfltetmo, with cm11-m9 and twrp recovery.

All you need are:

  1. Your phone rooted.
  2. Custom recovery is preferred (e.g. TWRP, PhilzTouch, etc.)
  3. Data cable
  4. a PC with the drivers installed for the relevant phone.

I followed the steps in this Moving Ringtones To Internal Memory. All credit goes to villo-2 who posted the steps in the link.

However, in the event of that page is deleted or not found in the future, here below are the steps:

Note: Please be informed that the following steps are to be executed at your own risk. On the other hand, the adb commands are executed from the PC.

  1. Put your phone into “Debug Mode” and connect it to the computer via the data cable.
  2. Open the command prompt and change to the directory in which adb is installed and issue this command “adb reboot recovery”. This steps lets you reboot into the recovery. In my case, it is TWRP v2.8.4.0
  3. The phone should reboot in a few seconds and enter recovery mode. Go to “mounts and storage” then mount ‘system’ and ‘sdcard’. In case ClockworkMod recovery, volume keys normally move between options and the Power button selects your choice.
  4. Now the system partition is read only by default so we will have to remount it as read/write. This can be done with this command “adb remount”.
  5. Login to the shell of the device with this command “adb shell
  6. Then finally the joy….. “cp /sdcard/Music/ringtone.mp3 /system/media/audio/ringtones/.
  7. Unmount the partitions you mounted in step 3 then use the last option to exit this menu (Go Back). Then reboot the device with the first option on the resulting list.

Hope this helps.


The only way I found for my custom ringtone to work while USB is connected (and to prevent losing my setup if a call or an alarm happens) was a tip from here (vote him up please).

Basically (with some extra info):

1) you need a rooted device (for m-mp5303g the only method that worked was by using cydia impactor # drop SuperSU su to /system/xbin/su and do not upgrade SuperSu after that, and on linux this was also required sudo adb kill-server;sudo adb start-server)

2) I used use X-Plore with root write access option enabled to copy the ringtone .ogg or .mp3 to /system/media/audio/ringtones/

3) find the alphabetically first ringtone, rename it to a .old file, rename your custom ringtone to that ringtone filename. This will help in case some ringtone configuration is lost, that file will be used as default (in m-mp5303g at least). Obs.: make it sure you do not care for that first ringtone music.

Obs.: this seems to work with alarms and notifications too.

PS.: just adding files there did not work here, they all were ignored, even after reboot; only replacing worked.


From your computer send the mp3 to a cloud service. Then use ES file explorer. Get it at the google store. Download mp3 from cloud you can use ES to do that for you. Make a new folder ringtones on your phones sdcard. Use EX to open your mp3 an it gives you an option to set your mp3 as a ringtone in your new folder. It worked for me. Marty a 73 year young noobe.

  • This doesn't seem to answer the question since it still relies in the SD card.... Jun 22, 2015 at 5:20

The easiest way that I have found to do this is,

  1. you must have root access on device as has been stated in previous answers
  2. use Root Browser or some other file manager to change the file to a .ogg file while on the SD card.
  3. Use the file manager (I recommend Root Browser) to move the ringtone to the /system/media/audio/ringtones path on the system partition of your device. Move it there do not copy it. Reboot your phone and things should be okay.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .