ale 57f1677b31 README.md
Signed-off-by: ale <ale@manalejandro.com>
2025-08-15 02:33:22 +02:00
2025-08-15 02:27:27 +02:00
2025-08-15 02:27:27 +02:00
2025-08-15 02:27:27 +02:00
2025-08-15 02:27:27 +02:00
2025-08-15 02:27:27 +02:00
2025-08-15 02:27:27 +02:00
2025-08-15 02:27:27 +02:00
2025-08-15 02:33:22 +02:00
2025-08-15 02:27:27 +02:00
2025-08-15 02:27:27 +02:00

Top Command - Android Process Monitor

License: MIT Android API

Una aplicación moderna de monitoreo de procesos para Android inspirada en el comando top de Linux. Proporciona información detallada sobre todos los procesos del sistema con una interfaz intuitiva desarrollada en Jetpack Compose.

Top Command Screenshot

📱 Características

🔍 Monitoreo en Tiempo Real

  • Lista completa de procesos del sistema
  • Actualización automática configurable (1-10 segundos)
  • Información de CPU, memoria, estado y usuario para cada proceso
  • Contadores de procesos y threads

🔐 Soporte para Root

  • Sin Root: Ve procesos del usuario actual
  • Con Root: Acceso completo a todos los procesos del sistema
  • Detección automática de disponibilidad de root
  • Interfaz segura para solicitar permisos de superusuario

📊 Información Detallada del Sistema

Al hacer clic en cualquier proceso se muestra:

  • Información básica: PID, nombre, usuario, estado, prioridad
  • Rendimiento: Uso de CPU y memoria con códigos de color
  • Detalles avanzados: PID padre, tiempo de inicio, tiempo de CPU
  • Memoria: Virtual, residente, compartida
  • Archivos: Línea de comandos, archivos abiertos, directorio de trabajo
  • Red: Conexiones TCP activas
  • Sistema: Mapas de memoria, variables de entorno, límites

🎨 Diseño Atractivo

  • Material 3 Design con tema inspirado en terminal
  • Tema oscuro/claro adaptativo
  • Colores contextuales para estados y métricas de rendimiento
  • Animaciones fluidas y transiciones suaves
  • Cards organizadas para fácil lectura

🔧 Funcionalidades Avanzadas

  • Búsqueda en tiempo real por nombre, PID o usuario
  • Ordenación múltiple por PID, nombre, CPU, memoria o usuario
  • Filtrado inteligente con highlighting de resultados
  • Configuración personalizable de intervalos de actualización
  • Información del sistema (uptime, load average, memoria total)

🚀 Compilación y Instalación

Prerrequisitos

  • Android Studio Hedgehog (2023.1.1) o superior
  • JDK 11 o superior
  • Android SDK con API level 24+ (Android 7.0)
  • Gradle 8.13 o superior (incluido con el proyecto)

Clonar el Repositorio

git clone https://github.com/tuusuario/top-command-android.git
cd top-command-android

Compilar con Gradle

Desde la línea de comandos:

# Compilar versión debug
./gradlew assembleDebug

# Compilar versión release
./gradlew assembleRelease

# Limpiar y compilar
./gradlew clean assembleDebug

# Instalar directamente en dispositivo conectado
./gradlew installDebug

En Windows:

gradlew.bat assembleDebug

Compilar desde Android Studio

  1. Abre Android Studio
  2. Selecciona "Open an Existing Project"
  3. Navega y selecciona la carpeta del proyecto
  4. Espera a que Gradle sincronice las dependencias
  5. Ejecuta con Run 'app' o Ctrl+R

Generar APK

# APK debug (para desarrollo)
./gradlew assembleDebug
# Output: app/build/outputs/apk/debug/app-debug.apk

# APK release (para distribución)
./gradlew assembleRelease
# Output: app/build/outputs/apk/release/app-release.apk

Generar Bundle de Android (AAB)

# Bundle para Google Play Store
./gradlew bundleRelease
# Output: app/build/outputs/bundle/release/app-release.aab

📋 Requisitos del Sistema

Para Compilación

  • SO: Windows 10+, macOS 10.14+, o Linux
  • RAM: Mínimo 8GB recomendado
  • Espacio: 4GB libres para Android Studio + SDK

Para la Aplicación

  • Android: 7.0 (API 24) o superior
  • Arquitectura: ARM64, ARM32, x86, x86_64
  • Permisos: No requiere permisos especiales
  • Root (opcional): Para acceso completo a procesos del sistema

🛠️ Estructura del Proyecto

app/src/main/java/com/manalejandro/topcommand/
├── model/
│   ├── ProcessInfo.kt          # Modelo de datos del proceso
│   └── SortBy.kt              # Enumeración para ordenación
├── service/
│   ├── ProcessMonitorService.kt # Servicio sin root
│   └── RootService.kt          # Servicio con acceso root
├── ui/
│   ├── components/
│   │   ├── ProcessComponents.kt     # Componentes de UI
│   │   ├── ProcessDetailDialog.kt   # Diálogo de detalles
│   │   └── RootComponents.kt        # Componentes de root
│   ├── screen/
│   │   └── ProcessMonitorScreen.kt  # Pantalla principal
│   └── theme/
│       ├── Color.kt                 # Paleta de colores
│       └── Theme.kt                 # Tema Material
├── viewmodel/
│   └── ProcessViewModel.kt          # Lógica de negocio
└── MainActivity.kt                  # Actividad principal

🎯 Uso de la Aplicación

Navegación Básica

  1. Vista principal: Lista de todos los procesos visibles
  2. Búsqueda: Toca la barra de búsqueda para filtrar
  3. Ordenación: Toca cualquier columna para ordenar
  4. Detalles: Toca cualquier proceso para ver información completa
  5. Configuración: Botón de ajustes en la barra superior

Acceso Root

  1. La app detecta automáticamente si el dispositivo tiene root
  2. Toca "Enable Root Access" en la tarjeta superior
  3. Concede permisos cuando tu gestor de root lo solicite
  4. Disfruta del acceso completo a todos los procesos del sistema

Funciones Avanzadas

  • Auto-refresh: Configurable desde 1-10 segundos
  • Filtros: Busca por nombre, PID, o usuario
  • Colores: Verde (bajo), amarillo (medio), naranja/rojo (alto)
  • Información del sistema: Visible solo con acceso root

🧪 Testing

# Ejecutar tests unitarios
./gradlew test

# Tests de instrumentación (requiere dispositivo/emulador)
./gradlew connectedAndroidTest

# Tests de UI
./gradlew connectedDebugAndroidTest

🏗️ Tecnologías Utilizadas

🤝 Contribución

¡Las contribuciones son bienvenidas! Por favor:

  1. Fork el proyecto
  2. Crea una rama para tu feature (git checkout -b feature/nueva-funcionalidad)
  3. Commit tus cambios (git commit -am 'Agregar nueva funcionalidad')
  4. Push a la rama (git push origin feature/nueva-funcionalidad)
  5. Abre un Pull Request

Guías de Contribución

  • Sigue las convenciones de código de Kotlin
  • Documenta funciones públicas
  • Incluye tests para nuevas funcionalidades
  • Actualiza el README si es necesario

📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para detalles.

MIT License

Copyright (c) 2024 Top Command Android

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

👨‍💻 Autor

Alejandro - GitHub

📞 Soporte

Si tienes problemas o preguntas:

📈 Roadmap

  • Gráficos en tiempo real de CPU y memoria
  • Exportar información de procesos
  • Widgets de escritorio
  • Notificaciones para procesos con alto uso
  • Modo oscuro forzado
  • Soporte para Android 15+
  • Filtros avanzados y guardado de configuración

¡No olvides dar una estrella al proyecto si te resultó útil!

Descripción
No description provided
Readme 253 KiB
Languages
Kotlin 100%