Androbot is an Android automation app that listens for incoming SMS and executes a small, explicit set of device actions when messages come from trusted senders.
- Enable remote device control via SMS for predefined commands.
- Keep execution logic strict, predictable, and easy to audit.
- Make local and CI testing reproducible, including emulator-based tests in Docker.
Current scope is intentionally narrow:
- Trigger source: incoming SMS (
SMS_RECEIVED). - Authorization: trusted sender allowlist (runtime-managed in app storage).
- Supported action commands:
volume maxvolume minvolume <0-100>wifi resetwifi onwifi offdata resetdata offdata oncall me back(places callback to trusted sender and enables speaker mode)update software(opens app and runs OTA update check)info(replies by SMS with current Androbot version and supported commands)
- Trusted sender management:
- Primary: in-app UI (add/remove/list)
- Optional: SMS commands from a trusted sender (
trusted add/remove/list,sms forwarder on/off) trusted add <phone>adds a trusted sender remotelytrusted remove <phone>removes a trusted sender remotelytrusted listlogs the trusted sender list on the device
- SMS forwarding mode:
- Enabled by trusted SMS command:
sms forwarder on - Disabled by trusted SMS command:
sms forwarder off - Forwards regular incoming SMS to the trusted sender who most recently enabled forwarding
- Enabled by trusted SMS command:
- Action target: call, ring, and media stream volume.
- Network toggles are best-effort and may be ignored by modern Android security policies.
- Android phone with USB cable
- Developer options enabled on phone
- USB debugging enabled on phone
adbavailable on host machine (android-platform-tools)
On phone:
Settings -> About phone -> Build number(tap 7 times)Settings -> Developer options -> USB debugging(enable)
Download the latest release APK asset from:
https://github.com/mike-dubman/androbot/releases
Recommended asset names:
androbot-release-v<version>.apkandrobot-release-latest.apk(stable alias)
curl (auto-download latest release APK):
curl -fL -o androbot-release-latest.apk \
https://github.com/mike-dubman/androbot/releases/latest/download/androbot-release-latest.apkConnect the phone to your computer using a USB data cable.
adb devicesAccept the RSA fingerprint prompt on phone if shown.
adb install -r androbot-release-latest.apk- Open
Androbot - Grant SMS permission when requested
- Add first trusted sender in UI
Send SMS from trusted number:
volume max
After first USB connection:
adb tcpip 5555
adb connect <PHONE_IP>:5555
adb install -r androbot-release-latest.apkThen you can deploy using local adb:
adb install -r androbot-release-latest.apk- Tap
Check updatein app UI. - App fetches metadata from:
https://github.com/mike-dubman/androbot/releases/latest/download/androbot-update.json
- App downloads release APK, verifies SHA-256 checksum, then launches installer for in-place upgrade.
- On Android 8+, allow
Install unknown appsfor Androbot when prompted.
Use the phone's Wi-Fi LAN IP (same network as your computer).
From Android UI (most devices):
Settings -> Wi-Fi- Tap connected network
- Find
IP address(example:192.168.1.50)
From adb (after USB connect):
adb shell ip -f inet addr show wlan0Look for inet <IP>/..., for example inet 192.168.1.50/24.
On fresh install, trusted sender list is empty. SMS commands are ignored until at least one trusted sender is added in the app UI.
Trusted senders are stored in app SharedPreferences.
You can add/remove/list them from UI anytime without rebuild/reinstall.
Optional remote management (trusted sender only):
trusted add <phone>trusted remove <phone>trusted listsms forwarder onsms forwarder off
When SMS forwarding is enabled, Androbot forwards regular incoming SMS messages to the trusted sender
who most recently enabled forwarding. Command/control SMS messages are not forwarded. This requires
SEND_SMS permission.
Declared in manifest:
android.permission.RECEIVE_SMSandroid.permission.SEND_SMSandroid.permission.MODIFY_AUDIO_SETTINGSandroid.permission.CALL_PHONEandroid.permission.CHANGE_WIFI_STATEandroid.permission.INTERNETandroid.permission.REQUEST_INSTALL_PACKAGES
volume maxvolume minvolume NwhereNis integer0..100wifi resetwifi onwifi offdata resetdata offdata oncall me backupdate softwareinfotrusted add <phone>trusted remove <phone>trusted listsms forwarder onsms forwarder off
Release process is documented in RELEASE.md.
- SMS sender identity can be spoofed in some networks/devices.
- Trusted-sender management SMS commands are accepted only from trusted numbers.
- On fresh install, SMS handling is disabled until first trusted sender is added in UI.
This project is licensed under the MIT License. See LICENSE.
Build, debug build, install, test, project structure, and emulator browser-UI debug are documented in Development.md.