263
README.md
Archivo normal
263
README.md
Archivo normal
@@ -0,0 +1,263 @@
|
||||
# Top Command - Android Process Monitor
|
||||
|
||||
[](https://opensource.org/licenses/MIT)
|
||||
[](https://developer.android.com)
|
||||
[](https://android-arsenal.com/api?level=24)
|
||||
|
||||
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.
|
||||
|
||||
](
|
||||
|
||||
## 📱 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
|
||||
|
||||
```bash
|
||||
git clone https://github.com/tuusuario/top-command-android.git
|
||||
cd top-command-android
|
||||
```
|
||||
|
||||
### Compilar con Gradle
|
||||
|
||||
#### Desde la línea de comandos:
|
||||
|
||||
```bash
|
||||
# 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:
|
||||
```cmd
|
||||
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
|
||||
|
||||
```bash
|
||||
# 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)
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```bash
|
||||
# Ejecutar tests unitarios
|
||||
./gradlew test
|
||||
|
||||
# Tests de instrumentación (requiere dispositivo/emulador)
|
||||
./gradlew connectedAndroidTest
|
||||
|
||||
# Tests de UI
|
||||
./gradlew connectedDebugAndroidTest
|
||||
```
|
||||
|
||||
## 🏗️ Tecnologías Utilizadas
|
||||
|
||||
- **[Jetpack Compose](https://developer.android.com/jetpack/compose)** - UI moderna y declarativa
|
||||
- **[Material 3](https://m3.material.io/)** - Sistema de diseño
|
||||
- **[ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel)** - Gestión de estado
|
||||
- **[Kotlin Coroutines](https://kotlinlang.org/docs/coroutines-overview.html)** - Programación asíncrona
|
||||
- **[StateFlow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-state-flow/)** - Flujo de datos reactivo
|
||||
|
||||
## 🤝 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](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](https://github.com/tuusuario)
|
||||
|
||||
## 📞 Soporte
|
||||
|
||||
Si tienes problemas o preguntas:
|
||||
- 🐛 **Reportar bugs**: [Issues](https://github.com/tuusuario/top-command-android/issues)
|
||||
- 💡 **Sugerir funcionalidades**: [Discussions](https://github.com/tuusuario/top-command-android/discussions)
|
||||
- 📧 **Contacto directo**: tu.email@ejemplo.com
|
||||
|
||||
## 📈 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!** ⭐
|
||||
Referencia en una nueva incidencia
Block a user