Skip to main content

Android Screenshot and Screen Recording Tool

Project description

SnapDroid

Platform: Android License: MIT Version: 1.0.0

A powerful command-line tool for capturing Android screenshots and screen recordings directly to your local machine without third-party apps or manual transfers.

   _____                   ____             _     __   
  / ___/____  ____ _____  / __ \_________  (_)___/ /   Android
  \__ \/ __ \/ __ `/ __ \/ / / / ___/ __ \/ / __  /    Screenshot
 ___/ / / / / /_/ / /_/ / /_/ / /  / /_/ / / /_/ /     & Recording
/____/_/ /_/\__,_/ .___/_____/_/   \____/_/\__,_/      
                /_/                                     

🚀 Features

  • Instant Screenshots: Capture Android device screens with a single command
  • Screen Recording: Record device activity for specified durations
  • App Targeting: Launch and capture specific apps by package name
  • Background Blur Testing: Special mode for security testing of app preview blurring
  • No Root Required: Works with standard ADB debugging connection
  • No Third-Party Apps: Uses built-in Android tools, no app installation needed
  • Local Storage: Files saved directly to your computer, no cloud uploads
  • Emulator Support: Works with Android emulators including Corellium devices

🔍 Why SnapDroid?

For Developers

  • Streamlined Workflow: Capture screenshots and recordings without interrupting your development flow
  • Documentation: Easily create visual documentation for your apps
  • Bug Reporting: Capture and share visual evidence of issues
  • Demo Creation: Record app demos directly from your development environment

For Security Testers

  • Background Blur Testing: Test if sensitive apps properly blur content in the app switcher view
  • Evidence Collection: Capture proof of security findings
  • Automation Friendly: Integrate into testing scripts
  • Works on Emulators: Test on platforms where manual screenshots are difficult (like Corellium)

📋 Requirements

  • Python 3.6+
  • Android Debug Bridge (ADB) installed and in your PATH
  • USB debugging enabled on your Android device
  • Connected Android device or emulator

🔧 Installation

Option 1: Install from PyPI (Recommended)

pip install snapdroid

Option 2: Install from GitHub

  1. Clone this repository:

    git clone https://github.com/dr34mhacks/snapdroid.git
    cd snapdroid
    
  2. Install the package:

    # Method A: Using the installation script
    ./install.sh
    
    # Method B: Using pip directly
    pip install -e .
    

Prerequisites

Make sure ADB is installed:

  • macOS: brew install android-platform-tools
  • Linux: apt install adb
  • Windows: Download from developer.android.com

Connect your Android device and enable USB debugging

📱 Usage

Basic Commands

Take a screenshot:

snapdroid -ss

Record the screen for 10 seconds:

snapdroid -sr 10

Save to a specific directory:

snapdroid -ss --out ~/Screenshots

Advanced Features

Capture a specific app by package name:

snapdroid -ss --package com.example.app

Test background blur in app switcher:

snapdroid -ss --background

Record a specific app for 5 seconds:

snapdroid -sr 5 --package com.example.banking.app

Show all examples:

snapdroid --examples

Show version information:

snapdroid --version

🔒 Security Testing Use Cases

Background Blur Testing

Many apps containing sensitive information should implement proper blurring when shown in the app switcher (recent apps) view. SnapDroid makes it easy to test this security feature:

  1. Launch the target app:

    snapdroid -ss --package com.example.banking.app --background
    
  2. SnapDroid will:

    • Launch the specified app
    • Navigate to the app switcher
    • Capture a screenshot
    • Save it locally for analysis
  3. Examine the screenshot to verify proper content blurring

This is particularly useful on emulators like older Corellium devices where taking screenshots of the app switcher can be challenging through normal means.

🛠️ Troubleshooting

No device detected:

  • Ensure USB debugging is enabled on your device
  • Check connection with adb devices
  • Try restarting ADB with adb kill-server && adb start-server

Permission denied errors:

  • Make sure your device has authorized the ADB connection
  • Check for permission prompts on your device

App won't launch:

  • Verify the package name is correct
  • Try launching the app manually first

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📬 Contact

Created by @yourusername - feel free to contact me!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

snapdroid-1.0.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

snapdroid-1.0.0-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file snapdroid-1.0.0.tar.gz.

File metadata

  • Download URL: snapdroid-1.0.0.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for snapdroid-1.0.0.tar.gz
Algorithm Hash digest
SHA256 576fd51ba08dfd535b0ca53f94b89bb9376cc06e96e428e6b572c95887d24628
MD5 752cbf0b5c7d8e34bc5b6d0300eac7f4
BLAKE2b-256 bb78807a8653e10eb7c0910ee871f6b1d9f6232a132f51d2b52246608055a763

See more details on using hashes here.

File details

Details for the file snapdroid-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: snapdroid-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for snapdroid-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2a7d53415995bce86b2687bfba171b669174b2f9341606808bf5f75bfc8cf6f3
MD5 ec3e8cb28341cb5718e7ae2ace611dba
BLAKE2b-256 e9f6fb83a21af84bbb4e168a9aca467ce3a1fe116af70f5a04328b087238253b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page