Android app built with Kotlin + Gradle Kotlin DSL implementing MVVM clean architecture (domain use cases, repository, and Room database).
An SMS/MMS messaging app with a toolbox around it. Five bottom-navigation tabs: Messages (send and receive SMS, picture and group messages, as your default SMS app), Redirect incoming SMS by rule, Schedule messages to send later, Backup SMS to your own Gmail account, and Restore them to a new phone.
On first launch the app asks to become your default SMS app. If you'd rather keep your current messaging app, Redirect, Schedule and Backup still work with SMS permissions only; Messages and Restore are then shown disabled, with a bar offering to make SMS Toolbox the default.
The Google Play and GitHub versions are the same app with the same features. The only difference is the Updates section in Settings: the GitHub version checks GitHub releases and installs updates itself, while Google Play updates the Play version.
Silent preview. The full 24-second launch video, with music, is store-listing/video/sms-toolbox-launch.mp4 (download it to watch).
The GitHub APK and the Google Play version have the same features; the GitHub APK also updates itself from GitHub releases. Installing it takes about five minutes the first time. If you can use Google Play, it is simpler.
The pictures are illustrations of stock Android 14–16. Wording and menu locations differ a little between phone makers (Samsung, Xiaomi, OnePlus…), but the steps are the same.
On your phone, open the latest release and, under Assets, tap SMS-Toolbox_v….apk. Only download it from this page. If your browser warns that "this type of file can harm your device", tap Download anyway.
- Open Settings → About phone.
- Tap Build number seven times. Enter your PIN if asked.
- You see "You are now a developer!"
Then open Settings → System → Developer options and make sure Use developer options is on. Nothing else in there needs changing.
Some phones only allow installing apps from outside Google Play with Developer options on. On many phones this step is not needed; it does no harm, and you can turn Developer options off again once the app is installed.
Open the downloaded file (from the download notification, or Files → Downloads). The first time, Android says your phone "isn't allowed to install unknown apps from this source". Tap Settings, turn on Allow from this source, then go back.
-
Android asks "Do you want to install this app?": tap Install.
-
Google Play Protect may stop the install because the app did not come from Play. Tap More details, then Install anyway. If it offers to scan the app, you can let it: the APK is built from the public source in this repository by
release.yml.
Android blocks SMS permissions for apps installed outside an app store until you allow them once. The app shows a reminder the first time you open it.
- Open Settings → Apps → SMS Toolbox.
- Tap the ⋮ menu in the top-right corner, then Allow restricted settings, and confirm with your PIN or fingerprint.
Now open SMS Toolbox. It asks for each permission only when a feature needs it.
Once a day, when you open it, the app checks this repository for a new release. When there is one, a banner appears at the top of the main screen: tap Update, then Download and install in Settings → Updates. The first time, Android asks you to allow SMS Toolbox to install apps (like step 3). Your settings and backups are kept.
Moving between the Play and GitHub versions, and what the update check sends, are covered in the full install guide.
Building, testing, the feature list, on-device and emulator testing, Firebase setup, and the tech stack are in Development.md. The system design is in Architecture.md and the privacy policy in PrivacyPolicy.md.






