Cuando agrego un archivo GZIP-ed a los recursos de mi proyecto Android, la extensión ".gz" se elimina cuando el proyecto está empaquetado. (Entonces, por ejemplo, "foo.gz" en mi carpeta de activos necesita accederse en código usando getAssets().open("foo")
). Esto no parece suceder con otras extensiones (por ejemplo, ".html") que estoy usando. El recurso sigue siendo GZIP-ed (tengo que ajustar el flujo de entrada en un GZIPInputStream para leerlo).¿Por qué Android elimina la extensión de archivos .gz de los activos?
¿Es este comportamiento estándar o un error? Si es estándar, ¿hay alguna documentación sobre qué extensiones se eliminan y cuáles se conservan?
EDIT: malinterpreté las cosas a la vista. Estoy experimentando este problema con el complemento de Eclipse. No he intentado ejecutar aapt directamente para ver si el problema es con la herramienta en sí o con el uso del complemento.
La herramienta paquete de activos Android (AAPT) reconoce .gz archivos y los añade a la .zip sin volver a comprimir ellos (es decir, se elimina el encabezado de gzip y las deja caer en una entrada "comprimido" en el archivo zip, esta es una optimización del tiempo de compilación). Sin embargo, el comportamiento que describes suena diferente. – fadden
Pelar la extensión .gz parece particularmente poco amigable para el programador. Además, el archivo .apk tiene el archivo en el mismo lugar en la carpeta de activos que con cualquier otro nombre. –
Esto parece ser deliberado (basado solo en el nombre de archivo) dentro de aapt, Tal vez el pensamiento fue que si se gzipó ... entonces um confundir a la gente? http://www.google.com/codesearch#uX1GffpyOZk/tools/aapt/Package.cpp&exact_package=git://android.git.kernel.org/platform/frameworks/base.git&q=%22Writing%20all%20files%22&type = cs & l = 309 –