docs: añadir hallazgos técnicos sesión 2026-05-15 (estructura repo + reglas compresión APK)
- Confirmado: repo es unzip directo del APK, no apktool d output - Verificadas reglas STORED/DEFLATED inspeccionando APK manual 0.7.6 - META-INF: estrategia = excluir todo en build, apksigner regenera firmas - res/ tiene compresión mixta (172 STORED + 167 DEFLATED), pendiente correlar con extensión Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
0576a5df73
commit
fe1cbc9c9c
1 changed files with 19 additions and 0 deletions
|
|
@ -33,6 +33,25 @@ Pipeline automático **NO** está activo todavía (falta resolver método de bui
|
|||
|
||||
## Lo que QUEDA pendiente
|
||||
|
||||
### Hallazgos técnicos verificados esta sesión (importantes para retomar)
|
||||
|
||||
**Estructura del repo OASIS_MOBILE confirmada:** NO es output de `apktool d`. Es un `unzip` directo del APK. Indicios:
|
||||
- `AndroidManifest.xml` está en **Android binary XML** (no decodificado).
|
||||
- `res/` con nombres acortados (`0c.9.png`, `0M.xml`) — optimización de release.
|
||||
- No hay `smali/`, hay `classes.dex` directo.
|
||||
- `kotlin/`, `DebugProbesKt.bin` en raíz tal cual están dentro del APK.
|
||||
|
||||
**Consecuencia:** se puede reempaquetar con `zip` o `zipfile` Python directamente sobre los archivos del repo, sin necesidad de APK base ni de `apktool b`.
|
||||
|
||||
**Reglas de compresión confirmadas inspeccionando la APK manual 0.7.6** (`oasis-v0.7.6-20260515-pruebas.apk`):
|
||||
- **STORED:** `resources.arsc`, `assets/dexopt/*`, `assets/nodejs-project.zip`
|
||||
- **DEFLATED:** `AndroidManifest.xml`, `classes.dex`, `lib/*.so`, `kotlin/*`, `META-INF/*` (los 3 de firma)
|
||||
- **`res/` mixto:** 172 STORED + 167 DEFLATED. Patrón a verificar: probablemente imágenes (PNG/9.png) STORED y XML DEFLATED. **Pendiente confirmar extensión-por-compresión** corriendo el zipinfo más detallado en la APK manual.
|
||||
|
||||
**META-INF: estrategia clara.** El usuario tradicionalmente hacía `zip -d "META-INF/*"` borrando todo. La APK manual 0.7.6 publicada solo tiene 3 entradas META-INF (MANIFEST.MF, OASIS.SF, OASIS.RSA — las que añade apksigner). Los 33 archivos `.version` que están en el repo NO están en el APK firmado. Decisión: el build script debe **excluir TODO META-INF/** del unsigned APK; apksigner regenera las firmas.
|
||||
|
||||
**APK manual de referencia:** `/var/www/0asis.net/downloads/oasis-v0.7.6-20260515-pruebas.apk` (138 MB, firmada con el keystore VIEJO que se perdió). Sirve como referencia para comparar compresión y estructura, NO como molde de build. Para futuras APK auto generadas, firma con keystore NUEVO → usuarios beta con la manual instalada tendrán que desinstalar+reinstalar al hacer el primer update auto.
|
||||
|
||||
### Decisión bloqueante: método de build APK
|
||||
El doc original (`CONTEXT/cambio_apk_repack.txt`) propone método **quirúrgico** con APK base como molde (`oasis-v0.6.8.apk`, 55 MB original sin modificar):
|
||||
1. cp APK base → tmp
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue