Moving Ringtones To Internal Memory – HTC EVO 3D

I just started my dance with the “Android” a couple weeks ago on the HTC Evo 3D and it has been a learning experience from typing on the on-screen keyboard to rooting. As is the purpose of this blog I try to post my learning experiences for later reference.

Ever since I got the phone I noticed that whenever I mounted the mircoSD to a computer, the ringtones would go back to the default/stock tones. Basically what was happening is, when the memory is mounted to the computer it is not accessible to the phone therefore no tones and it reverts to the settings it came with. This can be a bit annoying so I set out to do something about it. In this quest I discovered that the internal memory (/system to be exact) is mounted as read only therefore writing to that partition (read: placing files there) is not possible. So I couldn’t simply copy files onto it even though the phone was rooted.

I want this post to be as clear as possible so the the next person needing to do this wont have to go hunting around the web for bits and pieces like I had to. In order to do that though, and remain on topic, I will have to do a second post about how to get the adb stuff working. It took me a couple weeks, on and off, to get it but the crazy part is that I had it working from day 1 and didn’t even know. So I will put that together in another post as I said before.

I have pre-edited mp3s that I use as ringtones stored in my music folder on the mircoSD and what we will need to do is copy those to the internal memory where the other factory installed ringtones are (on my phone it’s /system/media/audio/ringtones).

Resource List
  • Fully rooted Android phone (I am using a HTC EVO 3D, should work for others)
  • A PC with the ADB fully configured and working
  • USB drivers for your phone
  • Obviously, the phone and data cable
Disclaimer: Anyone who attempts the following does so that their own risk!!!

Let’s dive into it….
  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”
  3. The phone should reboot in a few seconds and enter recovery mode. Go to “mounts and storage” then mount ‘system’ and ‘sdcard’ (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.
After the phone boots normally, you are free to disconnect, disable USB debugging and start assigning the tones as normal.

Good Luck.

5 thoughts on “Moving Ringtones To Internal Memory – HTC EVO 3D

  1. hey there is a lot easier way to get into recovery on your htc 3d. Turn your phone off, take out the battery, and the hole the volume down key and the power button at the same time and you will boot into boot loader. then you can proceed to use the volume up/ down keys to highlight recovery, and then just press power. your phone will then boot into recovery mode. 😀 just thought id let ya know, cause its like 20x’s easier this way and takes about 10 min less.

    • I knew that I could do it that way but think it more of a hassle to do it that way. You could also turn off Fastboot and just reboot the phone while pressing the volume down button while the phone comes back on. There is also the option of using Busybox to reboot directly into recovery. There are many ways to “skin the goat” but I just thought this might be more convenient since you are going to be using the tool anyway.

      Good catch though, while we might know this, a newcomer might be interested in knowing the options available.

    • You are welcomed. Glad this post could be of help to someone and your acknowledgement encourages me to document more of the stuff I do. So thank you too.

  2. Thank you for the data on the exact location of preinstalled ringtones. However, I add custom ringtones much easier using an application called Root Explorer. I just navigate to the folder with the ringtones, change access level to Read/Write (that can be done with one tap in Root Explorer; indeed, your phone has to be rooted), copy new ringtones there and switch access level back to Read Only (just in case). Then I reboot the phone and voila – new ringtones are there 🙂

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s