It’s March, which means it’s month-long series time! This year, we’re focusing on technology! This month will feature guest writings and focus mainly on this dedicated subject. Normal postings will resume in April.
Let’s talk phones and developing … actually, there’s a million think-pieces on developing, let’s talk about rooting (this is mainly for android devices because Android is very developer friendly … and I use it extensively) and building computers. Both are fun things to do, you can truly let your creativity flow with these and it’s not as difficult as one would like to think.
Since I’ve been working with modding mobile devices, let’s start there and do computers another time. Recently, I changed my phone’s low battery beep from the annoying sound to saying “밥주세요/Bap Joo Sae Yo” in a shouting, cute voice, much like how the phones do in Korea (currently learning the language). Changing the low battery sound is not the same as merely changing the ringtone for phone calls or text messages because the sound is hardcoded into the system. Hardcoded means that the file is programmed as part of the internal system, in opposed to the term “softcoded”, which basically means that the file can be changed by the user for whatever reason. Softcoding allows users to change their text and phone ringtone. Hardcoding is supposed to maintain system regularity, including audio and visual indicators. It isn’t that phone makers think that too much customizing is a bad thing, it’s just that you can’t softcode every little thing because it could affect the root of the system and make everything run awry. And who wants to work in a call center dealing with angry callers because they downloaded a bad file and now their battery gauge system doesn’t work? Or now, somehow a virus got into the root system through the bad file and the whole phone is messed up.
To avoid being super baffling with lingo and techie jargon, I’ll focus on just rooting basics. Something simple as changing the low battery beep on your smartphone/tablet.
Before anything, we ready your sound. Smartphones nowadays like .ogg files so .wav and .mp3 files simply just won’t do. The file extension .ogg is an open format part of OGG Vorbis. Read more about it here and here to understand its background but it isn’t a must enable to complete this goal. Just know that you need an .ogg file. That means you’ll have to convert it.
It can be any sound clip, just keep it short because it wouldn’t make sense for the phone to play a whole song or an album stream just to inform you that you need to put in your charger. As long as it can translate into an .ogg file (use this site) you’re golden.
After you make your file, keep it somewhere safe on your computer to later transport onto your mobile device’s local folder (like in the media>audio folder). Now we have to work on rooting the phone.
This part require individual research because there isn’t a catch-all rooting program or unlocking bootloader program, both things you can do yourself. To find out what model you have, go into the Settings>About Device and from there, you should see what your model number is.
Research to see if there is need for a bootloader to be unlocked because not all phones have locked bootloaders. A bootloader is OS booting up/starting up program. It loads all the files in your phone much like your computer does. If it is locked, it means that it is like a door to a multiplex building, it’s not meant to be opened. Here’s info about bootloaders both here and here so you can read more about them. Locked bootloaders also can be so to keep a particular phone to one network like AT&T or Verizon. Different phone companies have different histories about their bootloaders such as Motorola and Samsung. Unlocked bootloader phones – unlocked phones, basically – are friendlier to developers because of easier access for them, the devs.
You can unlock Dev options by going into About Device and hitting the back button 7 times in quick succession. There should be a little pop up stating “You are [#] times away from being a developer”. After you finally press the back button singularly, you should see a new selection called “Developer Options”. Tap on it and be sure to check “USB Debugging”. This will keep things running smoothly.
Alright, I’m sure that you should have guessed but make sure you have all your phone or tablet backed up. Since you’re messing with your phone/tablet’s internal system, that means you could lose everything on your device. It would be pretty bad if you didn’t plan ahead and lost everything as a result. Also, this would be the time to say that by performing this work on your phone or tablet, you’re most likely voiding your warranty. This means that if you have any future problems with your phone, you’re on your own. A potentially bad thing that could happen is that you could brick your phone/tablet. When a device is bricked, basically that means you’ve turned your smartphone into a paperweight that can beep, blink and glow. It will be perfectly useless. Thaaaaaat’s not good. There’s also potentially soft bricking your phone/tablet, which means there are some parts of it that can’t be used and its abilities will be drastically and most noticeably reduced. So you’ll have a partially active paperweight. Don’t want that either so make sure you research exactly what to do and where to go. I highly recommend hanging out on XDA Developers particularly and Phandroid to figure out if your device has a locked bootloader or not with a quick search.
There are different rooting programs but Kingo Root is highly suggested so let’s go with them and they cover a wide range of devices. If Kingo Root does not have your device, make sure you can find another that does. Remember, rooting is free, if you have to pay, turn away. And it is best to use a rooting system that involves a connected computer so if anything goes wrong, the necessary information to discover what happened won’t go down with the rest of the ship.
Alright, with Kingo Root (or whatever program you decided to go with) make sure you go by exactly what they say, letter for letter. Rooting has gotten much simpler nowadays, it’s relatively easier and a good start for those that want to try their hands at being a dev. because it’s baby steps. Remember to grant access to your program so everything can run smoothly. If you have a Samsung device, like me, you may have to deal with Knox, the security system. Don’t have it disabled, your phone/tablet will work fine.
After you have rooted and rebooted your phone as well as put the desired sound file somewhere easy to find on your phone, this means you have to download a root browser onto your phone/tablet. I like Root Browser, which is really good. Now you’re able to go into the internal system and change some things!
You’re going to see two “System” folders. You want the one that has the computer monitor in front of it. This is where you want to go. From there, here is the pathway: System/Media/Audio/UI. In the UI file, you’ll find the LowBattery.ogg file. You can even listen to it with your phone/tablet’s music player to confirm it. Wild, huh?
Now that you have found your low battery sound, find your new low battery sound – don’t forget to write down the exact name of the low battery sound file so the system can effortlessly find the new file and execute it without a hitch because the system is programmed to look for a file with that exact name for the exact purpose of beeping when the phone/tablet’s battery is low. This is so when you copy the file (don’t move, just copy or you’ll get an error) to the UI folder, you can rename the file to the correct name. Once you do that, delete the old Low Batt file. This will force the system to use the file you provided. Also, you will have to change the permissions to match the other permissions in the file. To do that, long press on your new Low Battery file, which will bring up the list. Go to Permissions, which is signified with an opened silver lock.
See how I have it? And how the outcome at the bottom looks like everyone else in the file list? Copy it. You’ll see the letters change at the bottom as you modify. Remember, RWX is Read, Write, Execute. See the relation between the dashes and the empty spaces? They correlate. Here is a good write up on how permissions work. If the permissions are wrong, the sound file won’t play at all and you’ll just have the phone merely do everything else normal in notifying you of a low battery but with no sound at all.
Now exit everything and reboot the phone. Everything should be complete. Time to wait for your battery to run out and there, you should hear a brand new sound.
Congrats, you just reprogrammed your phone more to your liking.
You can do more research on what you can do with a rooted phone, XDA Developers is fantastic for learning new tips and tricks.