Apktool v2.8.1 Released
Apktool v2.8.1 has been released! This release has been quickly released to cover some immediate regressions from v2.8.0 as well as patching a new LTS Java feature that affected parsing malformed zip headers.
A part of me expected that refactoring ~50% of the codebase would lead to some regressions, but not the ones or quantity we had.
Turns out we had no test coverage for the exact format of the
apktool.yml meta file. Since the test suite decodes and assembles - they were generating a
apktool.yml on the fly. So the only way this regression was noticed if you were using older
apktool.yml files against the newest release. We do have tests now to prevent this from happening again.
Next we had wide spread build failures on JDK 11 & 17 shortly after the release of v2.8.0 which became apparent with this crash.
java.util.zip.ZipException: Invalid CEN header (invalid zip64 extra data field size)
Turns out thanks to the research by evowizz - a recent Java update affected some types of applications.
Improved ZIP64 Extra Field Validation (JDK-8302483 (not public))
java.util.zip.ZipFile has been updated to provide additional validation of ZIP64 extra fields when opening a ZIP file. This validation may be disabled by setting the system property
So we set some system properties to opt out of this protection.
This release had 17 commits by 4 people and 1 robot
- Connor Tumbleson (iBotPeaches) - 11 commits
- Igor Eisberg - 3 commits
- ArjunaKumarMohanta - 1 commit
- Dependabot (BOT) - 1 commit
- sv99 - 1 commit
Changes since 2.8.0
- [#3177] Add JDK 20 to test suite.
- [#3179] Add
runcommand for Gradle inline execution. (Thanks sv99)
- Fix links on usage output for new smali & apktool links.
- [#3165] Fix Windows issue copying files that resolved to an empty filename.
- [#3170, #3174] Fix Java restriction with ZIP64 extra field validation.
- [#3169] Fix regression on
- [#3182] Fix regression on
minSdkVersionvalue being blown out before setting into
- [#3181] Fix regression on inefficient reading of framework files during attribute parsing.
- [#3193] Fix regression on decoding framework file with a tag. (Thanks IgorEisberg)
- [#3188] Refactor descriptions on commands. (Thanks IgorEisberg)
- [#3151] Upgrade
- [#3141] Upgrade to Gradle 8.2.1. (Thanks ArjunaKumarMohanta)
- Applications are becoming more and more difficult to build with aapt1, using the
--use-aapt2flag during rebuild is a good test.
- Apktool 2.8.1
- Rename to
apktool.jarand follow the Instruction Guide if you need help.
- 2.8.1 Release Post