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 jdk.util.zip.disableZip64ExtraFieldValidation
to true.
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
run
command 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
apktool.yml
property names. - [#3182] Fix regression on
minSdkVersion
value being blown out before setting intoapktool.yml
. - [#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
gradle/gradle-build-action
to2.6.0
- [#3141] Upgrade to Gradle 8.2.1. (Thanks ArjunaKumarMohanta)
Notes
- Applications are becoming more and more difficult to build with aapt1, using the
--use-aapt2
flag during rebuild is a good test.
Download
- Apktool 2.8.1
c186ee0c87dbf197456cc010aeba99da
(md5)7b4a8e1703e228d206db29644b71141687d8a111b55b039b08b02dfa443ab0f9
(sha256)- Rename to
apktool.jar
and follow the Instruction Guide if you need help.
- 2.8.1 Release Post