Когда я добавляю файл GZIP-ed в свои активы проекта Android, расширение «.gz» удаляется при компоновке проекта. (Так, например, «foo.gz» в моей папке с ресурсами необходимо получить в коде с помощью getAssets().open("foo")
.) Это не похоже на другие расширения (например, «.html»), которые я использую. Этот актив по-прежнему GZIP-ed (я должен обернуть поток ввода в GZIPInputStream, чтобы прочитать его).Почему Android-адаптер удаляет расширение .gz для расширения активов?
Является ли это стандартным поведением или ошибкой? Если это стандартно, есть ли какая-либо документация о том, какие расширения разделяются и которые сохраняются?
РЕДАКТИРОВАТЬ: Я неправильно исказил вещи. Я испытываю эту проблему с подключаемым модулем Eclipse. Я не пробовал запустить aapt напрямую, чтобы узнать, есть ли проблема с самим инструментом или с тем, как этот плагин использует его.
инструмент Android пакет активов (AAPT) распознает .gz файлы и добавляет их в .zip без их повторного сжатия (т.е. отсекает заголовок GZIP и бросает их в «сжатом» записи в zip-архив, это оптимизация времени сборки). Поведение, которое вы описываете, звучит иначе. – fadden
Снятие расширения .gz кажется особенно программистом-недружелюбным. Кроме того, архив .apk имеет файл в том же месте в папке с ресурсами, как и с любым другим именем. –
Это кажется преднамеренным (основанным только на имени файла) внутри aapt, Может быть, мысль заключалась в том, что если он gzipped ... то смутить людей? 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 –