Estoy tratando de entender los detalles exactos de cómo Android extrae las entradas de un APK durante el proceso de instalación. Primero un poco de información de fondo:
- La instalación puede ocurrir ya sea a través de Play Store o directamente usando, por ejemplo,
adb
mediante un comando comoadb install ejemplo.apk
. Debe tenerse en cuenta que dependiendo de cómo se instale, el proceso podría ser ligeramente diferente - Estoy interesado en ambos casos - El .apk es básicamente un archivo zip y debería ocurrir una extracción. Siguiendo la especificación del formato zip, la extracción debería tener en cuenta el método de compresión que está siendo utilizado por cada entrada. Encontré este método el cual no estoy seguro si está relacionado con el proceso de instalación, pero puedo ver que tiene en cuenta los dos métodos de compresión disponibles (STORE, DEFLATE).
He intentado en Android 11 (emulador x86), instalar un APK (a través de adb) que no tiene un método de compresión de STORE o DEFLATE para el AndroidManifest.xml y se instala exitosamente.
¿Cuál es el código responsable de manejar métodos de compresión fuera de los esperados?