Po dodaniu pliku GZIP-ed do zasobów mojego projektu Android rozszerzenie ".gz" jest usuwane po zakończeniu projektu. (Na przykład, "foo.gz" w moim folderze zasobów musi być dostępny w kodzie przy użyciu getAssets().open("foo")
.) Nie wydaje się, że ma to miejsce w przypadku innych rozszerzeń (np. ".html"), z których korzystam. Zasób nadal jest GZIP-ed (muszę zawinąć strumień wejściowy do GZIPInputStream, aby go odczytać).Dlaczego Android aapt usuwa rozszerzenie plików .gz?
Czy to standardowe zachowanie lub błąd? Jeśli jest to standard, czy istnieje dokumentacja, które rozszerzenia są usuwane i które są zachowywane?
EDYCJA: Złe rzeczy źle przesadziłem. Występuje ten problem z wtyczką Eclipse. Nie próbowałem uruchamiać programu aapt bezpośrednio, aby sprawdzić, czy problem dotyczy samego narzędzia lub sposobu używania go przez wtyczkę.
Android narzędzie pakiet aktywów (AAPT) uznaje .gz plików i dodaje je do .zip bez ich ponownego sprężania (czyli Odcina nagłówek gzip i spada ich do „skompresowany” wpisem archiwum zip, jest to optymalizacja czasu kompilacji). Zachowanie, które opisujesz, brzmi jednak inaczej. – fadden
Usunięcie rozszerzenia .gz wydaje się szczególnie nieprzyjazne dla programisty. Ponadto archiwum .apk ma plik w tym samym miejscu w folderze zasobów, jak w przypadku każdej innej nazwy. –
To wydaje się być celowe (oparte tylko na nazwie pliku) w ramach aapt, Może myśl była taka, że jeśli jest zgnieciony ... to um mylą ludzi? 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 –