Skip to content

DevenDucommun/android-crash-monitor-py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

24 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Android Crash Monitor (Python)

A modern, user-friendly Android crash monitoring tool built with Python for enhanced usability and cross-platform reliability.

πŸš€ Features

πŸ–₯️ Simple Graphical Interface (NEW!)

  • No command line needed - Point and click interface
  • Real-time device status with green/yellow/red indicators
  • One-click automatic fixes for common problems
  • Plain-English problem explanations (no technical jargon)
  • Built-in help and troubleshooting guides

Enhanced User Experience

  • Rich terminal interface with progress bars and colored output
  • Interactive setup wizard with intelligent detection
  • Cross-platform consistency across macOS, Linux, and Windows
  • Graceful error handling with helpful recovery suggestions
  • Modern CLI with intuitive commands and help

Intelligent System Detection

  • Automatic ADB detection across common installation paths
  • Smart package manager discovery (Homebrew, APT, DNF, Pacman, etc.)
  • Platform-aware installation with optimal methods for each OS
  • Version checking against latest Android SDK releases
  • Dependency validation with clear installation guidance

Advanced Monitoring Capabilities

  • Real-time log streaming with filtering and search
  • Multiple device support with device selection UI
  • Log categorization (crashes, warnings, errors, debug)
  • Export functionality to multiple formats (JSON, CSV, HTML)
  • Session management with automatic resume capability

Developer-Friendly Architecture

  • Modular design with clear separation of concerns
  • Comprehensive testing with unit and integration tests
  • Easy extensibility for custom monitoring scenarios
  • Configuration management with profiles and presets
  • Plugin system for custom log processors

πŸ›  Installation

πŸŽ† Super Easy (For Everyone!)

No technical knowledge required:

git clone https://github.com/DevenDucommun/android-crash-monitor-py.git
cd android-crash-monitor-py
./easy-install.sh

Then double-click launch-gui.py to start the graphical interface!

Note for macOS users: The installer automatically installs modern Python to avoid tkinter deprecation warnings.

Option 1: Install from PyPI (Recommended)

pip install android-crash-monitor
acm setup

Option 2: Install from Source

git clone https://github.com/DevenDucommun/android-crash-monitor-py.git
cd android-crash-monitor-py
pip install -e .
acm start

Option 2b: Super Simple Script (No Installation)

git clone https://github.com/DevenDucommun/android-crash-monitor-py.git
cd android-crash-monitor-py
./run.sh

The run.sh script handles everything automatically!

Option 3: Portable Executable

Download the standalone executable from Releases - no Python required!

🎯 Quick Start

Super Simple (Recommended) πŸš€

From Project Directory:

./start.sh

If Installed Globally:

acm start

That's it! One command handles everything: setup, device detection, and monitoring.

Step by Step (Advanced Users)

  1. Run Setup: acm setup - Interactive setup wizard
  2. Connect Device: Enable USB debugging on your Android device
  3. Start Monitoring: acm monitor - Begin crash monitoring
  4. View Logs: acm logs - Browse collected logs with filtering

πŸ“‹ Commands

|| Command | Description | Example | |---------|-------------|---------| | acm gui | πŸ–₯️ Launch graphical interface (no command line needed!) | acm gui | | acm start | πŸš€ One-command setup and monitoring | acm start | | acm analyze | πŸ” Comprehensive crash pattern analysis | acm analyze --summary | | acm setup | Run interactive setup wizard | acm setup --auto | | acm monitor | Start monitoring Android device | acm monitor --device pixel | | acm logs | View and manage collected logs | acm logs --filter crash --last 1h | | acm devices | List connected Android devices | acm devices --detailed | | acm export | Export logs to various formats | acm export --format json --output crash_report.json | | acm config | Manage configuration and profiles | acm config --profile development |

πŸ— Architecture

Core Components

  • Setup Manager: Intelligent installation and configuration
  • Device Manager: Android device detection and communication
  • Monitor Engine: Real-time log collection and processing
  • Log Processor: Filtering, categorization, and analysis
  • Export Engine: Multi-format output generation
  • UI Components: Rich terminal interface elements

Technology Stack

  • Python 3.8+ for cross-platform compatibility
  • Rich for beautiful terminal interfaces
  • Click for modern CLI framework
  • Requests for HTTP operations and downloads
  • Pydantic for data validation and settings
  • PyInstaller for standalone executable creation

πŸ”„ Migration from Bash Version

The Python version maintains full compatibility with logs and configurations from the original bash version, while providing significant improvements in usability and functionality.

What's Improved:

  • 10x faster setup process with parallel operations
  • Better error messages with actionable solutions
  • Progress indicators for all long-running operations
  • Automatic recovery from common failure scenarios
  • Rich logging with filtering, search, and export
  • Multi-device support with device switching
  • Configuration profiles for different use cases

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes with tests
  4. Run tests: python -m pytest
  5. Submit a pull request

πŸ“Š Roadmap

v1.0 (Current)

  • Core monitoring functionality
  • Interactive setup wizard
  • Multi-platform ADB installation
  • Rich terminal interface
  • Comprehensive test coverage

v1.1 (Planned)

  • Web dashboard for remote monitoring
  • Email/Slack notifications for crashes
  • Log analysis and crash pattern detection
  • Multiple device monitoring simultaneously
  • Custom log filters and processors

v2.0 (Future)

  • Machine learning crash prediction
  • Integration with CI/CD pipelines
  • Team collaboration features
  • Cloud storage and sharing
  • Mobile app for remote monitoring

πŸ“„ License

MIT License - see LICENSE file for details.

πŸ”— Links


Note: This is the modern Python rewrite of the original bash-based Android Crash Monitor. The original project remains available and maintained for users who prefer the bash version.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published