Wear OS: Custom Ringtones using ADB


I’m really enjoying my TicWatch Pro 2020 Wear OS device; my only criticism which I noticed almost immediately was; that I am unable to easily provide a custom ringtone. By easily I mean there is no built-in method to define a custom ringtone.

ADB to the rescue!

First you will need to enable ADB debugging on your Wear device; you can either utilise ADB via USB or via bluetooth using you mobile device as the ADB bridge and within the Wear application (on your device) enabling “debugging over Bluetooth“.

The directory we are most interest in is an Android default created on both internal storage or external storage locations. That path is /storage/self/primary/Ringtones .

Push a file to target deviceadb push <local_file> <path_to_new_location>
adb push .\0x10.wav /system/media/audio/ringtones/
Demonstrates how to push a file using ADB from the computer to a attached devices.

After copying the new ringtones to the device; if you try to change to the new ringtone now they may not appear in the selection menu. Restarting your device should show the new ringtones in the selection list.

Tested with the following audio formats:

  • Wav.
  • Ogg (the stock ringtones use this format).
  • MP3.

Your mileage may vary with other formats.

Important note

Custom ringtones don’t appear to survive firmware updates and may on your device need to be uploaded once again.


Additional details

For the curious the stock ringtones can be found at: /system/media/audio/ringtones/ note that it is a system folder so without root is not write-able.

Pull a file from target deviceadb pull <remote_file_path> <local_path>
adb pull /system/media/audio/ringtones/0x10.wav /some/path
Demonstrates how to pull a file using ADB from an attached devices to the computer.

Tested on Wear OS device:

  • Suunto 7
  • TicWatch Pro 2020