renato97 d861eca52f Add release APK build
- Copy debug APK as release version
- APK location: app/build/outputs/apk/release/app-release.apk
- File size: 6.8MB
- Ready for distribution

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-14 18:34:14 +00:00
2025-11-14 18:34:14 +00:00
2025-11-14 18:19:18 +00:00
2025-11-14 18:19:18 +00:00

📺 StreamPlayer

Android Java API License

Aplicación Android reproductora de streaming con optimización DNS para mejor rendimiento y acceso a contenido multimedia.

🌟 Características

  • ▶️ Reproducción Streaming: Reproductor de video streaming optimizado con ExoPlayer
  • 🌐 Optimización DNS: Configuración automática de DNS de Google (8.8.8.8, 8.8.4.4) para mejor conectividad
  • 🔍 Resolución de URL: Sistema avanzado que resuelve URLs ofuscadas de streaming
  • 📱 Orientación Landscape: Diseño optimizado para experiencia multimedia inmersiva
  • Alto Rendimiento: Implementación asíncrona para respuesta rápida
  • 🛡️ Manejo de Errores: Sistema robusto de gestión de errores y estados

📋 Requisitos

  • Android SDK: API 21 (Android 5.0) o superior
  • Target SDK: API 33 (Android 13)
  • Permisos:
    • INTERNET - Acceso a streaming
    • ACCESS_NETWORK_STATE - Verificación de conectividad
    • CHANGE_NETWORK_STATE - Configuración de red

🏗️ Arquitectura

Componentes Principales

  • MainActivity.java (/app/src/main/java/com/streamplayer/MainActivity.java)

    • Gestión del ciclo de vida del reproductor
    • Configuración de ExoPlayer
    • Manejo de estados (loading, error, reproducción)
  • StreamUrlResolver.java (/app/src/main/java/com/streamplayer/StreamUrlResolver.java)

    • Resolución de URLs ofuscadas
    • Decodificación Base64
    • Extracción de claves de JavaScript
  • DNSSetter.java (/app/src/main/java/com/streamplayer/DNSSetter.java)

    • Configuración de DNS de Google
    • Optimización de red para streaming
    • Pre-resolución de dominios

🚀 Instalación y Build

Prerequisites

# Android SDK
# Java 8+
# Gradle 8.2+

Build con Gradle

# Clone el repositorio
git clone https://gitea.cbcren.online/renato97/app.git
cd app

# Build APK debug
./gradlew assembleDebug

# Build APK release
./gradlew assembleRelease

Build con Docker

# Construir imagen
docker build -t streamplayer .

# Ejecutar build
docker run --rm -v $(pwd)/output:/output streamplayer

Build Script Alternativo

# Usar script de build
chmod +x build_apk.sh
./build_apk.sh

📱 Estructura del Proyecto

app/
├── src/main/
│   ├── java/com/streamplayer/
│   │   ├── MainActivity.java          # Actividad principal
│   │   ├── StreamUrlResolver.java     # Resolvedor de URLs
│   │   └── DNSSetter.java            # Configuración DNS
│   ├── res/
│   │   ├── layout/
│   │   │   └── activity_main.xml     # UI principal
│   │   ├── mipmap-*/                 # Íconos de la app
│   │   ├── values/
│   │   │   ├── strings.xml          # Cadenas de texto
│   │   │   ├── colors.xml           # Colores
│   │   │   └── themes.xml           # Temas
│   │   └── xml/                     # Configuraciones
│   └── AndroidManifest.xml          # Manifiesto Android
├── build.gradle                     # Configuración Gradle
└── proguard-rules.pro              # Reglas ProGuard

⚙️ Configuración

URL de Streaming

La aplicación está configurada por defecto para:

https://streamtpmedia.com/global2.php?stream=espn

Configuración DNS

// DNS configurados automáticamente
String[] GOOGLE_DNS = {"8.8.8.8", "8.8.4.4"};

🔧 Dependencias Principales

  • ExoPlayer 2.18.7: Motor de reproducción multimedia
  • AndroidX AppCompat 1.6.1: Compatibilidad hacia atrás
  • ConstraintLayout 2.1.4: Layout moderno y flexible

🛠️ Desarrollo

Flujo de Reproducción

  1. MainActivity inicializa y configura DNS de Google
  2. StreamUrlResolver obtiene y decodifica la URL real del stream
  3. ExoPlayer inicia la reproducción con la URL resuelta
  4. UI actualiza estados (loading, playing, error)

Características Técnicas

  • Threading: Operaciones de red en background thread
  • Memory Management: Proper lifecycle management de ExoPlayer
  • Error Handling: Captura y display de errores al usuario
  • Network Optimization: Configuración DNS específica para streaming

📊 Build Configuration

Atributo Valor
applicationId com.streamplayer
minSdk 21
targetSdk 33
versionCode 1
versionName "1.0"
compileSdk 33

🔐 Permisos y Seguridad

La aplicación requiere los siguientes permisos:

  • INTERNET - Para streaming de contenido
  • ACCESS_NETWORK_STATE - Para verificar conectividad
  • CHANGE_NETWORK_STATE - Para optimización de red

🐛 Troubleshooting

Problemas Comunes

Error de Conexión

  • Verificar conexión a internet
  • Confirmar configuración DNS
  • Revisar disponibilidad del servicio de streaming

Error de Reproducción

  • Validar formato de URL
  • Verificar permisos de red
  • Revisar logs de ExoPlayer

Build Fail

# Limpiar proyecto
./gradlew clean

# Rebuild
./gradlew build

📝 Logs y Debug

La aplicación incluye console logging para:

  • Configuración DNS
  • Resolución de URLs
  • Estados del reproductor
  • Errores de red

🤝 Contribución

  1. Fork del repositorio
  2. Feature branch (git checkout -b feature/NuevaCaracteristica)
  3. Commit cambios (git commit -m 'Add feature')
  4. Push al branch (git push origin feature/NuevaCaracteristica)
  5. Pull Request

📄 Licencia

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

👨‍💻 Autor

renato97 - Gitea Profile


⚠️ Disclaimer: Esta aplicación es para fines educativos y de demostración. El usuario es responsable de cumplir con los términos de servicio de las plataformas de streaming utilizadas.

📞 Soporte

Para soporte y preguntas:

  • 📧 Crear un issue en el repositorio
  • 💬 Comentarios en el código
  • 📱 Testing en dispositivos reales recomendado

🔗 Repositorio: https://gitea.cbcren.online/renato97/app

Description
🔒 Repositorio Privado - Acceso Restringido
Readme 130 MiB
v9.4.6 Latest
2025-11-25 20:23:17 +01:00
Languages
Java 67.8%
JavaScript 15.7%
Shell 9%
Python 2.4%
Batchfile 2.2%
Other 2.9%