# APK reales — ClickDelivery V0.6.1

V0.6/V0.6.1 deja de trabajar con package IDs provisionales y toma como referencia los `AndroidManifest.xml` de las APK entregadas.

| App | Package ID real | APK auditada | Versión |
|---|---|---|---:|
| Administrador | `com.clickdelivery.administrador` | `com.clickdelivery.administrador.2(3).apk` | 1.0.2 |
| Comercio | `com.clickdelivery.comercio` | `com.clickdelivery.comercio.7(2).apk` | 1.0.7 |
| Delivery/Usuario | `com.clickdelivery.usuario` | `com.clickdelivery.usuario.3(1).apk` | 1.0.3 |
| Repartidor | `com.clickdelivery.repartidor` | `com.clickdelivery.repartidor.1(1).apk` | 1.0.1 |

## Stack observado

Las cuatro APK contienen `assets/index.android.bundle` compilado como Hermes bytecode y bibliotecas nativas de React Native. También integran React Native Firebase y VisionCamera. Repartidor contiene además un módulo nativo de ubicación en background y permisos Android específicos para ubicación en segundo plano/foreground location.

## Bridge V0.6.1

`mobile/react-native-bridge/` implementa una capa reusable para insertar en los proyectos fuente:

- autenticación y bearer token;
- bootstrap remoto;
- WebSocket `clickdelivery-v1`;
- fallback SSE disponible en backend;
- registro FCM;
- heartbeat de dispositivo;
- GPS Repartidor;
- upload privado de evidencia;
- PIN pickup/delivery;
- endpoints por rol.

## Regla de actualización Android

Para actualizar una APK ya instalada/publicada deben conservarse:

1. el mismo package ID;
2. la misma clave/identidad de firma Android;
3. un `versionCode` mayor;
4. logos y colores oficiales sin modificación.

V0.6.1 no parchea ni vuelve a firmar los APK compilados. Para generar releases se requiere el proyecto fuente React Native/constructor visual legado exportado y el keystore original.

## Capacidades de Mobile Production V0.6.1

El bridge compartido añade:
- login móvil con refresh token rotativo;
- refresh automático tras 401;
- cola de sincronización offline;
- cola GPS con `client_point_id`;
- marketplace y catálogo;
- ganancias/liquidaciones;
- WebSocket + FCM existentes.

## Identidad de firma recuperada

Las huellas SHA-256 de certificado de cada APK se guardan en `mobile/apk-audit/signing-certificates.json`. Esto permite verificar un futuro `.jks/.keystore` antes de intentar una release. La clave privada no puede recuperarse de la APK compilada.
