유니티 게임에 대한 테스트를 해본 결과 APK가 Zlib 대신 LZ4로 압축 된 경우 게임을 절반 크기로 압축 할 수있는 것 같습니다.왜 안드로이드는 LZ4/LZMA로 APK를 압축합니까?
Android에서 LZ4를 사용하지 않는 이유가 있나요?
iOS는 LZ4를 사용하여 압축 할 때 대략 동일한 크기로 사용한다고 생각합니다.
유니티 게임에 대한 테스트를 해본 결과 APK가 Zlib 대신 LZ4로 압축 된 경우 게임을 절반 크기로 압축 할 수있는 것 같습니다.왜 안드로이드는 LZ4/LZMA로 APK를 압축합니까?
Android에서 LZ4를 사용하지 않는 이유가 있나요?
iOS는 LZ4를 사용하여 압축 할 때 대략 동일한 크기로 사용한다고 생각합니다.
가장 간단한 대답은 필요하지 않다는 것입니다. LZ4는 꽤 인상적이지만, 오래된 장치와의 호환성을 유지하기 위해 Android 팀이 남겨 두었습니다. Android는 널리 사용되는 압축 알고리즘을 찾고 Zlib에 대한 특허 또는 라이센스 제한이 없기 때문에 원래 Zlib을 2005 년에 사용했습니다. 2011 년 LZ4가 출시되기까지 약 6 년이 걸렸습니다. LZMA는 1998 년 즈음에 좀 더 오래되어서 안드로이드가 앤디 루빈에게 직접 물어 봐야만하는 이유를 가지고 있습니다.
가장 합리적인 대답은 라이센스 때문입니다. wikipedia에서 우편 라이센스 : .zip 파일 포맷 (wikipedia부터) LZMA 라이센스 대해 1989
에 공개에 발매 된
:
LZMA 구현 추출 7-Zip에서 LZMA SDK로 사용할 수 있습니다. 원래는 GNU LGPL과 Common Public License [13]에 따라 이중화되었으며, 링크 된 바이너리에 대한 특별한 예외는 있지만, 이고르 파블로프가 공개 도메인 인 에 2008 년 12 월 2 일에 배치했습니다. 버전 4.62의 릴리스.
iOS에서 LZMA/LZ4 tho를 사용하지 않습니까? – mikeysee
또 다른 요점은 APK가 Zip 파일 형식 인 다른 접미사가있는 자바 JAR 형식에 불과하다는 것입니다. Zip 형식에 추가 압축 알고리즘이 추가되었지만 표준 Zlib로 파일을 압축하지 않은 경우 Android 초기 릴리스 당시의 JAR 도구가 올바르게 작동하는지 확신 할 수 없습니다. –