smithery/balaraj74

linux-android-control

Control Android devices from Linux using ADB (Android Debug Bridge). Send texts, make calls, take screenshots, install apps, control media, navigate UI, and more. Use when a user asks FRIDAY to control their Android phone.

Installation

$ npx skills add smithery/balaraj74 --skill linux-android-control

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/balaraj74.

npx skills add smithery/balaraj74

Browse all from smithery/balaraj74

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 7,115 B
  • docs SUMMARY.md 251 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

Android Control Skill

Control your Android device from FRIDAY using ADB (Android Debug Bridge).

Prerequisites

  1. Enable USB Debugging on your Android phone:

- Go to Settings → About Phone → Tap "Build Number" 7 times - Go to Settings → Developer Options → Enable "USB Debugging"

  1. Connect phone via USB or set up Wireless ADB:

- For wireless: adb tcpip 5555 then adb connect <phone-ip>:5555

  1. Authorize the connection when prompted on your phone

Commands Reference

Device Management

# List connected devices
adb devices

# Get device info
adb shell getprop ro.product.model
adb shell getprop ro.build.version.release

# Reboot device
adb reboot

# Check battery status
adb shell dumpsys battery

Send SMS Message

# Open SMS app with pre-filled message
adb shell am start -a android.intent.action.SENDTO -d "sms:<phone_number>" --es sms_body "<message>"

# Example: Send message to 9876543210
adb shell am start -a android.intent.action.SENDTO -d "sms:9876543210" --es sms_body "Hello from FRIDAY!"

Make Phone Calls

# Initiate a call
adb shell am start -a android.intent.action.CALL -d "tel:<phone_number>"

# Example: Call 9876543210
adb shell am start -a android.intent.action.CALL -d "tel:9876543210"

# End call (hang up)
adb shell input keyevent KEYCODE_ENDCALL

Open Apps

# Open specific app by package name
adb shell monkey -p <package_name> -c android.intent.category.LAUNCHER 1

# Common apps:
adb shell monkey -p com.whatsapp -c android.intent.category.LAUNCHER 1          # WhatsApp
adb shell monkey -p com.spotify.music -c android.intent.category.LAUNCHER 1     # Spotify
adb shell monkey -p com.google.android.youtube -c android.intent.category.LAUNCHER 1  # YouTube
adb shell monkey -p com.instagram.android -c android.intent.category.LAUNCHER 1  # Instagram
adb shell monkey -p com.google.android.gm -c android.intent.category.LAUNCHER 1  # Gmail
adb shell monkey -p com.android.chrome -c android.intent.category.LAUNCHER 1     # Chrome
adb shell monkey -p com.google.android.apps.maps -c android.intent.category.LAUNCHER 1  # Maps

# List all installed packages
adb shell pm list packages

# Search for app package
adb shell pm list packages | grep -i spotify

Take Screenshot on Phone

# Capture screenshot and save to phone
adb shell screencap -p /sdcard/screenshot.png

# Pull screenshot to computer
adb pull /sdcard/screenshot.png ~/Pictures/phone_screenshot.png

# One-liner: Screenshot and pull
adb shell screencap -p /sdcard/screen.png && adb pull /sdcard/screen.png ~/Pictures/phone_$(date +%Y%m%d_%H%M%S).png

Screen Recording

# Record screen for 10 seconds
adb shell screenrecord --time-limit 10 /sdcard/recording.mp4

# Pull recording to computer
adb pull /sdcard/recording.mp4 ~/Videos/phone_recording.mp4

Media Control

# Play/Pause media
adb shell input keyevent KEYCODE_MEDIA_PLAY_PAUSE

# Next track
adb shell input keyevent KEYCODE_MEDIA_NEXT

# Previous track
adb shell input keyevent KEYCODE_MEDIA_PREVIOUS

# Volume up/down
adb shell input keyevent KEYCODE_VOLUME_UP
adb shell input keyevent KEYCODE_VOLUME_DOWN

# Mute
adb shell input keyevent KEYCODE_VOLUME_MUTE

Navigation & Input

# Tap at coordinates (x, y)
adb shell input tap 500 1000

# Swipe from (x1,y1) to (x2,y2)
adb shell input swipe 500 1500 500 500    # Swipe up
adb shell input swipe 500 500 500 1500    # Swipe down
adb shell input swipe 100 500 900 500     # Swipe right
adb shell input swipe 900 500 100 500     # Swipe left

# Type text
adb shell input text "Hello World"

# Press keys
adb shell input keyevent KEYCODE_HOME        # Home button
adb shell input keyevent KEYCODE_BACK        # Back button
adb shell input keyevent KEYCODE_APP_SWITCH  # Recent apps
adb shell input keyevent KEYCODE_POWER       # Power button
adb shell input keyevent KEYCODE_ENTER       # Enter key
adb shell input keyevent KEYCODE_DEL         # Backspace

Screen Control

# Turn screen on/off
adb shell input keyevent KEYCODE_POWER

# Wake up screen
adb shell input keyevent KEYCODE_WAKEUP

# Lock screen
adb shell input keyevent KEYCODE_SLEEP

# Get screen state
adb shell dumpsys power | grep "Display Power"

File Transfer

# Push file to phone
adb push ~/file.txt /sdcard/Download/

# Pull file from phone
adb pull /sdcard/Download/file.txt ~/

# List files
adb shell ls /sdcard/

Install/Uninstall Apps

# Install APK
adb install ~/Downloads/app.apk

# Uninstall app
adb uninstall com.package.name

# Install and replace existing
adb install -r ~/Downloads/app.apk

Notifications

# Open notification shade
adb shell cmd statusbar expand-notifications

# Close notification shade
adb shell cmd statusbar collapse

# Clear all notifications
adb shell service call notification 1

Clipboard

# Set clipboard text (Android 10+)
adb shell am broadcast -a clipper.set -e text "Text to copy"

# Note: Reading clipboard requires special app like Clipper

Open URLs

# Open URL in browser
adb shell am start -a android.intent.action.VIEW -d "https://google.com"

# Open YouTube video
adb shell am start -a android.intent.action.VIEW -d "https://youtube.com/watch?v=VIDEO_ID"

Wireless ADB Setup

# With phone connected via USB:
adb tcpip 5555

# Then disconnect USB and connect wirelessly:
adb connect <phone_ip_address>:5555

# Find phone IP: Settings → About Phone → Status → IP Address
# Or: adb shell ip addr show wlan0

# Disconnect wireless
adb disconnect

Screen Mirroring (requires scrcpy)

# Mirror phone screen to computer
scrcpy

# Mirror with specific settings
scrcpy --max-size 1024 --bit-rate 2M

# Record while mirroring
scrcpy --record ~/Videos/phone_mirror.mp4

Common Use Cases

"Send a text to Mom saying I'll be late"

adb shell am start -a android.intent.action.SENDTO -d "sms:+919876543210" --es sms_body "I'll be late"

"Open Spotify on my phone"

adb shell monkey -p com.spotify.music -c android.intent.category.LAUNCHER 1

"Take a screenshot of my phone"

adb shell screencap -p /sdcard/screen.png && adb pull /sdcard/screen.png ~/Pictures/phone_screenshot.png

"Play/pause music on my phone"

adb shell input keyevent KEYCODE_MEDIA_PLAY_PAUSE

"Go back on my phone"

adb shell input keyevent KEYCODE_BACK

"Open YouTube video"

adb shell am start -a android.intent.action.VIEW -d "https://youtube.com/watch?v=dQw4w9WgXcQ"