# DH Inspección Android · release Campo Dinámico 0.17.0 ## Candidata vigente - Fase funcional: **Campo Dinámico / alta rápida de Inventario**. - `versionName`: **0.17.0**. - `versionCode`: **26**. - Application ID release: `com.korexlabs.dhinspeccion`. - Application ID debug/QA: `com.korexlabs.dhinspeccion.debug`. - API: `https://dhv2.korexlabs.com/api/v3/`. - Launcher de presentación: adaptación vectorial local inspirada en el escudo institucional publicado por Gobierno de Mendoza en `mendoza.gov.ar`, para reemplazar el ícono genérico del sistema. La variante debug es independiente de la app productiva y puede instalarse para QA/presentación sin sobrescribir una instalación release histórica. ## Novedades de campo 0.17.0 La pantalla de una Inspección incorpora un acceso destacado a **Modo campo rápido**. La carga de una Subinstalación se resuelve como flujo guiado: 1. elegir la **Instalación padre** dentro del Yacimiento de la Inspección; 2. buscar y seleccionar la **clasificación técnica** compatible, identificar el elemento y completar únicamente los datos dinámicos que correspondan; 3. tocar **Guardar y tomar foto**: la APK captura GPS y abre la cámara automáticamente. Se mantienen las reglas de integridad existentes: la fotografía sigue siendo obligatoria antes de habilitar Hallazgos, el alta queda ligada al contexto de la Inspección, se conserva la posibilidad de buscar Inventario existente y el mecanismo de fusión de duplicados continúa disponible para altas de campo. La búsqueda de clasificación técnica está preparada para catálogos extensos de Subinstalaciones sin obligar al inspector a recorrer una fila horizontal completa. ## Barrera obligatoria Todo cambio Android o de API que pueda afectar al cliente móvil debe pasar `Android CI / RC`: 1. validación de identidad, HTTPS y políticas básicas del manifest; 2. Android lint; 3. unit tests Android reales, con verificación de que exista al menos una prueba ejecutada; 4. `assembleDebug`; 5. `assembleRelease` para comprobar que la variante productiva compile; 6. empaquetado del APK debug con SHA-256 y metadata de commit/versionado. La barrera de lint exige además manejo explícito de la revocación de permisos de ubicación durante una captura GPS y declara la cámara como capacidad de hardware opcional, sin relajar permisos ni desactivar reglas globalmente. El artefacto de CI contiene: - APK debug; - archivo `.sha256`; - `release-metadata.txt` con fase, versión, versionCode, commit, applicationId, API base y canal. ## Firma release La clave histórica de firma **no se versiona ni se reemplaza**. La CI compila la variante release para detectar roturas, pero la APK productiva final debe firmarse con la clave histórica antes de instalarse como actualización de `com.korexlabs.dhinspeccion`. No se debe crear una clave nueva para resolver una falta de acceso: eso rompería la continuidad de actualización de tablets que ya tengan una versión firmada con la clave anterior. ## Criterio de distribución Antes de distribuir una APK productiva: - todas las barreras de CI del SHA exacto deben estar verdes; - comprobar certificado/huella de firma contra la versión histórica; - realizar actualización sobre al menos una tablet con la versión productiva anterior; - ejecutar smoke funcional contra el entorno objetivo: login, lista de inspecciones, inicio, alta rápida de Subinstalación, GPS/foto, búsqueda de Inventario existente, Acta, Hallazgo y cierre; - registrar el SHA Git y SHA-256 de la APK distribuida.