Я перенес файл .obb со своего телефона Android на свой ПК с Windows, переименовал расширение файла в .zip и распаковал его с помощью 7-zip. Это создало папку с изображением, аудио и другими файлами. Когда я снова заархивировал его и перенес обратно как .obb, приложение не работало. Согласноотвечатьна этом сайте файлы .obb должны быть заархивированы методом сжатия "Store", но это дало файл .zip, который примерно на 36 000 КБ больше, чем исходный файл .obb. Я также попробовал инструмент Android JOBB, но он дал еще больший файл .obb (~100 000 КБ больше). Почему распаковка и повторное архивирование не дает файл того же размера, что и исходный, и как это исправить? Спасибо.
решение1
ZIP имеет различные уровни сжатия (в 7-Zip доступно 5 различных уровней плюс отсутствие сжатия) и дополнительные различные алгоритмы сжатия (Deflate, ...). В зависимости от того, какой уровень был выбран изначально и какой уровень выбрали вы, сжатый размер может различаться.
Поэтому нет ничего необычного в том, что размер сжатого файла отличается. Единственный важный факт — это количество файлов, размер в распакованном виде и, конечно, структура файлов и папок внутри ZIP-файла.
решение2
Файлы .obb не ограниченык определенному типу входного файла, но вместо этого может быть любым и будет переименован .obb
из исходного расширения.
Если вы хотите узнать точный уровень сжатия, вам нужно будет выяснить, как читать формат в шестнадцатеричном редакторе. В качестве альтернативы вы можете попробовать программу Python, упомянутую в ответе наэтот вопрос,хачоир. Хотя он не поддерживается, это недавнее изменение, и он создан для python3.6+.