# Packet v1.7.4 - Build Report **Fecha:** 2025-12-23 **Compilado por:** Claude Code **Plataforma:** macOS Darwin 25.1.0 ## Artefacto | Campo | Valor | |-------|-------| | Archivo | `packet-v1.7.4.apk` | | Tamaño | 49 MB | | SHA-256 | `7f57bee3edec7342d6ca78d789704fec3827e3bf85f11ac362dcbacc8371ef1a` | | Firmado | Debug keys | ## Entorno de Compilación ### Flutter | Componente | Versión | |------------|---------| | Flutter | 3.38.5 (stable) | | Dart | 3.10.4 | | DevTools | 2.51.1 | | Engine | c108a94d7a | ### Android | Componente | Valor | |------------|-------| | Java | OpenJDK 17.0.17 | | Package Name | `me.tzzr.packet` | | Label | packet | ## Permisos Android ```xml ``` **Configuración adicional:** ```xml ``` ## Dependencias ### Runtime | Paquete | Versión | Propósito | |---------|---------|-----------| | flutter_bloc | ^9.0.0 | State management | | equatable | ^2.0.7 | Value equality | | sqflite | ^2.4.2 | SQLite local DB | | path_provider | ^2.1.5 | File paths | | dio | ^5.7.0 | HTTP client | | crypto | ^3.0.6 | SHA-256 hashing | | image_picker | ^1.1.2 | Captura fotos/video | | record | ^6.0.0 | Grabación audio | | file_picker | ^8.1.7 | Selección archivos | | geolocator | ^13.0.2 | GPS location | | permission_handler | ^11.4.0 | Runtime permissions | | uuid | ^4.5.1 | UUID generation | | intl | ^0.20.2 | Internacionalización | | cached_network_image | ^3.4.1 | Cache de imágenes | ### Dev | Paquete | Versión | |---------|---------| | flutter_test | SDK | | flutter_lints | ^6.0.0 | ## Estructura del Proyecto ``` lib/ (3,505 líneas Dart) ├── main.dart # Entry point ├── core/ │ ├── constants/ # AppConstants, RetryDelays │ ├── errors/ # Excepciones │ ├── utils/ # hash_utils, retry_utils │ └── theme/ # AppTheme ├── data/ │ ├── datasources/ # BackendApi, BibliotecaApi, LocalDatabase │ └── repositories/ # Config, Etiqueta, Contenedor repos ├── domain/ │ └── entities/ # Contenedor, Etiqueta, Pack, Destino └── presentation/ ├── app.dart # PacketApp, MainScreen ├── bloc/ # Cubits ├── pages/ # 5 pantallas └── widgets/ # Componentes ``` ## Pantallas | # | Pantalla | Icono | Función | |---|----------|-------|---------| | 1 | Captura | 📷 | Montar contenedor multimedia | | 2 | Etiquetas | 🏷️ | Seleccionar tags | | 3 | Packs | 📦 | Conjuntos de etiquetas | | 4 | Pendientes | ⏳ | Cola de reintentos (máx 20) | | 5 | Config | ⚙️ | URLs, llaves, bibliotecas | ## Constantes | Constante | Valor | |-----------|-------| | maxPendientes | 20 | | maxReintentos | 20 | | hashLength | 64 (SHA-256) | | chunkSize | 512 KB | | httpTimeout | 30s | | retryCheckInterval | 30s | ## Backoff de Reintentos (72h total) | Rango | Espera | |-------|--------| | 1-3 | 1, 2, 5 min | | 4-6 | 10, 20, 30 min | | 7-10 | 1, 2, 3, 4 h | | 11-14 | 5, 6, 6, 6 h | | 15-19 | 8, 8, 8, 8, 6 h | | 20 | STOP | ## Comandos de Build ```bash export JAVA_HOME=/opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home cd /tmp/packet-app flutter clean flutter build apk --release cp build/app/outputs/flutter-apk/app-release.apk ~/Downloads/packet-v1.7.4.apk ```