Creating a Custom Dumb Phone

Photo by Alejandro Mendoza on Unsplash
Russell Steadman
Russell Steadman
4/30/2022 · 4 minute read

I have recently been realizing the toll that my phone has been taking on my health. It has been a big attention draw. A year or so ago I decided to cut out all social media, and as a result I have been feeling a lot better and using my phone relatively less. Removing the other unnecessary and distracting features of my phone felt like the next logical step.

When looking into alternatives, I naturally started at flip phones. The issue I had with all of the flip phones I looked at was simple: I plan to send text messages, and all of the phones had physical, slow-to-use keyboards. So I instead switched to finding phones with on-screen keyboards.

The most versatile solution that I found was the Light Phone, which quite simply removes much of the unnecessary complexity associated with having a smart phone while also keeping many of the practical applications, namely texting, hotspotting, and directions. The problem I had with a Light Phone 2 was lack of an option for Spotify, which is something that is being actively discussed. There may be a viable solution for this in the future.

I realized from a previous project modifying an Amazon Kindle Fire that Android allows for a great deal of customization, including uninstalling and disabling many system applications. I currently have a Google Pixel 3 (which is available refurbished at $120 at the time of writing this), which has relatively minimal bloatware other than some extraneous Google applications. As such, I didn't want to root (or modify) the firmware installed on the phone. Instead, I decided to use Android Debug Bridge (ADB) to uninstall and disable applications that enabled distractions or allowed me to find new distractions.

How to Make an Android Phone "Dumb"

To get started, you will need to have a computer and a USB connection from your phone to your computer.

  1. Install Android SDK Platform Tools on your computer. These utilities are less than 10 MB total.
  2. On your phone, go into the application settings and disable or uninstall all of the apps you do not need. Some applications are unable to be disabled or uninstalled -- just make a note of these. Here are some suggestions:
    • Disable or uninstall all web browsers
    • Disable the Google search app
  3. On your phone, enable the developer menu.
  4. In the developer menu on your phone, enable USB debugging.
  5. Plug in your phone and accept any prompts.
  6. Open PowerShell or Terminal, and run adb devices. If you are not installing the platform tools, change directory into the platform tools folder and reference adb as .\adb (Windows) or ./adb (Mac/Linux) for the remainder of this tutorial.
  7. On your phone, accept any prompts.
  8. Run adb devices again and make sure that a device is present and does not say unauthorized.
  9. Run adb shell pm list packages -d to list all disabled packages. This will allow you to identify many of the packages you want to uninstall. Copy the contents into a text file.
  10. In the text file, replace all package: with adb shell pm uninstall . This way package:com.example will become adb shell pm uninstall com.example.
  11. Copy and paste the contents of this file into PowerShell or Terminal. This will run all of the commands. In some of the cases there will be an error, but in some of the cases there will be a successful uninstall.
  12. Rerun adb shell pm list packages -d and replace the contents of the text file with its output.
  13. Run adb shell pm list users. Note which number your user is associated with. It is most likely 0. The number 0 will be used for the remainder of the tutorial, but replace this with your user number if necessary.
  14. In the text file, replace all package: with adb shell pm uninstall --user 0 . This way package:com.example will become adb shell pm uninstall --user 0 com.example.
  15. Copy and paste the contents of this file into PowerShell or Terminal again.
  16. This step is optional, but useful. To disable the Play Store, run:
    adb shell pm disable-user com.android.vending
    adb shell pm uninstall com.android.vending
    adb shell pm uninstall --user 0 com.android.vending
    • Note that this does not disable Google Play Services, which many apps require to run.
    • ADB's install command is able to install new apps in place of the Play Store.
  17. Run adb shell pm list packages to see all packages.
  18. For all remaining undisabled apps, follow the same instructions as above for the Play Store, replacing com.android.vending with the package's id.

Voila! Now you can have a customized "dumb" phone without compromising on music, hotspot, or navigation. Android phones are also very affordable, and ironically this smart phone solution (~$120 for the phone) is less expensive than the Light Phone 2 (~$300).