Releases: iBotPeaches/Apktool
v3.0.2
What's Changed
- fix: use item tags for incompatible formats by @IgorEisberg in #4097
- build(deps): bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #4100
- build(deps): bump gradle/actions from 5.0.1 to 5.0.2 by @dependabot[bot] in #4101
- ApkDecoder: allow getting ApkInfo after decode by @amartinz in #4106
- fix: validate type names by @IgorEisberg in #4113
- Fix slow resources.arsc decoding by @X1nto in #4115
- build(deps): bump gradle/actions from 5.0.2 to 6.1.0 by @dependabot[bot] in #4114
- fix: slow binary XML decoding by @IgorEisberg in #4116
- build(deps): bump com.android.tools:r8 from 9.0.32 to 9.1.31 by @dependabot[bot] in #4109
- chore: internalize buffering by @IgorEisberg in #4117
- Fix build output jar naming to use underscores (apktool_*.jar) by @Copilot in #4120
- Fix entry lookup performance in ResPackage by @X1nto & @IgorEisberg in #4124
- Update aapt2 binaries. by @iBotPeaches in #4119
- fix: support apk as library for split apks by @IgorEisberg in #4128
New Contributors
- @amartinz made their first contribution in #4106
- @X1nto made their first contribution in #4115
- @Copilot made their first contribution in #4120
Full Changelog: v3.0.1...v3.0.2
v3.0.1
Important
v3.0.0 was pulled due to missing .jar file on GitHub publish, which prevented Brew publish from working. v3.0.1 is identical to v3.0.0.
What's Changed
- [v3] build: start new dev cycle (3.0.0-SNAPSHOT) by @iBotPeaches in #3882
- [v3] Remove aapt1 testing by @iBotPeaches in #3883
- refactor: Apktool Remastered by @IgorEisberg in #3885
- organize: classes by context by @IgorEisberg in #3886
- refactor: ResChunkPullParser + BinaryDataInputStream by @IgorEisberg in #3888
- optimize: performance and sanity by @IgorEisberg in #3890
- Fix: correct bad Windows aapt2 builds by @iBotPeaches in #3992
- fix: improve ResAttribute value formatting by @IgorEisberg in #3994
- build(deps): bump com.google.guava:guava from 33.4.8-jre to 33.5.0-jre by @dependabot[bot] in #3990
- chore: shorten version logic by @iBotPeaches in #3999
- fix: support building on headless server by @iBotPeaches in #4000
- build(deps): bump org.apache.commons:commons-lang3 from 3.18.0 to 3.19.0 by @dependabot[bot] in #3998
- Use binary name "aapt2" as prefix for temporary file by @jpstotz in #4001
- build(deps): bump gradle/actions from 4.4.3 to 5.0.0 by @dependabot[bot] in #4003
- build(deps): bump github/codeql-action from 3 to 4 by @dependabot[bot] in #4011
- build(deps): bump org.xmlunit:xmlunit-legacy from 2.10.4 to 2.11.0 by @dependabot[bot] in #4017
- build(deps): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #4018
- build(deps): bump commons-io:commons-io from 2.20.0 to 2.21.0 by @dependabot[bot] in #4021
- build(deps): bump org.apache.commons:commons-lang3 from 3.19.0 to 3.20.0 by @dependabot[bot] in #4026
- build(deps): bump commons-cli:commons-cli from 1.10.0 to 1.11.0 by @dependabot[bot] in #4025
- build: move to smali fork by @iBotPeaches in #4027
- build(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in #4033
- build(deps): bump com.android.tools:r8 from 8.7.18 to 8.13.17 by @dependabot[bot] in #4031
- refactor: Improve renaming/injection of resources in stripped APKs by @IgorEisberg in #4041
- chore: update default --res-resolve-mode in usage by @IgorEisberg in #4042
- fix: rename injected entry spec if the name already exists by @IgorEisberg in #4043
- build(deps): bump org.apache.commons:commons-text from 1.14.0 to 1.15.0 by @dependabot[bot] in #4038
- refactor: modernize --res-resolve-mode and dummies by @IgorEisberg in #4044
- chore: clean leftovers from 2.x by @IgorEisberg in #4045
- fix: handle unknown res configs gracefully by @IgorEisberg in #4053
- build(deps): bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #4050
- fix: tighten span tag parsing by @IgorEisberg in #4061
- fix: avoid assumptions about res dir by @IgorEisberg in #4067
- refactor: nested dex + replace --only-main-classes with -a/--all-src by @IgorEisberg in #4069
- refactor: source and tests by @IgorEisberg in #4071
- chore: promote -a/--all-src to a common option by @IgorEisberg in #4072
- build(deps): bump com.android.tools:r8 from 8.13.17 to 8.13.19 by @dependabot[bot] in #4064
- refactor: new BinaryXmlResourceParser, ResXmlSerializer and more by @IgorEisberg in #4077
- minor: TextUtils hotfix by @IgorEisberg in #4079
- build: migrate to modern maven publish by @iBotPeaches in #4073
- build(deps): bump gradle/actions from 5.0.0 to 5.0.1 by @dependabot[bot] in #4080
- fix: ensure proper locale in ResPrimitive by @salvogiangri in #4084
- feat: support for API 36.1 (Baklava) by @iBotPeaches in #4082
- feat: staged aliases support by @IgorEisberg in #4085
- fix: framework parse performed twice by @IgorEisberg in #4086
- chore: final polish by @IgorEisberg in #4087
- feat: support multi-dex containers by @IgorEisberg in #4091
- build(deps): bump com.android.tools:r8 from 8.13.19 to 9.0.32 by @dependabot[bot] in #4090
- build: bump gradle from 8.7 to 8.14.4 by @IgorEisberg in #4088
- build: version 3.0.0 tagged by @iBotPeaches in #4093
- docs: mark v3 as real and fix sponsor images by @iBotPeaches in #4095
New Contributors
- @jpstotz made their first contribution in #4001
- @salvogiangri made their first contribution in #4084
Full Changelog: v2.12.1...v3.0.1
v2.12.1
What's Changed
- fix: restore older -version/--version notation by @iBotPeaches in #3911
- Update apktool.bat to properly handle minor decimal versions to find highest version by @mdee5test in #3913
- build(deps): bump org.apache.commons:commons-lang3 from 3.17.0 to 3.18.0 by @dependabot[bot] in #3912
- build(deps): bump commons-io:commons-io from 2.19.0 to 2.20.0 by @dependabot[bot] in #3915
- build(deps): bump org.apache.commons:commons-text from 1.13.1 to 1.14.0 by @dependabot[bot] in #3930
- build(deps): bump gradle/actions from 4.4.1 to 4.4.2 by @dependabot[bot] in #3945
- build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #3957
- build(deps): bump actions/setup-java from 4 to 5 by @dependabot[bot] in #3958
- build(deps): bump commons-cli:commons-cli from 1.9.0 to 1.10.0 by @dependabot[bot] in #3932
- build(deps): bump gradle/actions from 4.4.2 to 4.4.3 by @dependabot[bot] in #3976
- build(deps): bump org.xmlunit:xmlunit-legacy from 2.10.3 to 2.10.4 by @dependabot[bot] in #3977
New Contributors
- @mdee5test made their first contribution in #3913
Full Changelog: v2.12.0...v2.12.1
v2.12.0
What's Changed
- [main] v2.11.1 by @iBotPeaches in #3817
- docs: update readme for doc repo move by @iBotPeaches in #3821
- fix: roundtrip XML values containing CDATA-like strings by @vbfox in #3826
- build(deps): bump com.google.guava:guava from 33.4.0-jre to 33.4.5-jre by @dependabot in #3829
- build(deps): bump gradle/actions from 4.3.0 to 4.3.1 by @dependabot in #3835
- build(deps): bump com.google.guava:guava from 33.4.5-jre to 33.4.6-jre by @dependabot in #3836
- build(deps): bump org.apache.commons:commons-text from 1.13.0 to 1.13.1 by @dependabot in #3844
- build(deps): bump commons-io:commons-io from 2.18.0 to 2.19.0 by @dependabot in #3846
- build(deps): bump com.google.guava:guava from 33.4.6-jre to 33.4.7-jre by @dependabot in #3845
- build(deps): bump com.google.guava:guava from 33.4.7-jre to 33.4.8-jre by @dependabot in #3852
- tweak: filter redundant flags in flag attrs by @IgorEisberg in #3849
- feat: support for API 36 (Baklava) by @iBotPeaches in #3857
- build(deps): bump com.android.tools:r8 from 8.7.18 to 8.9.35 by @dependabot in #3856
- Handle another round of "ApkEditor" Protect decoding. by @iBotPeaches in #3862
- Revert "build(deps): bump com.android.tools:r8 from 8.7.18 to 8.9.35" by @iBotPeaches in #3866
- refactor: migrate tests to aapt2 + related fixes by @IgorEisberg in #3865
- refactor: convert meta classes to pojo by @IgorEisberg in #3868
- optimize: improve doNotCompress lookups by @IgorEisberg in #3872
- build(deps): bump gradle/actions from 4.3.1 to 4.4.0 by @dependabot in #3875
- smali: restore -api option and limit to 29 by @IgorEisberg in #3879
- build(deps): bump org.xmlunit:xmlunit-legacy from 2.10.0 to 2.10.2 by @dependabot in #3884
- build(deps): bump gradle/actions from 4.4.0 to 4.4.1 by @dependabot in #3893
- build(deps): bump org.xmlunit:xmlunit-legacy from 2.10.2 to 2.10.3 by @dependabot in #3897
- Upgrade aapt2 to latest AOSP (Android 16) sources. by @iBotPeaches in #3864
- [Release] v2.12.0 by @iBotPeaches in #3904
New Contributors
Full Changelog: v2.11.1...v2.12.0
v2.11.1
What's Changed
- redundancy: remove unspecial special cases by @IgorEisberg in #3755
- build(deps): bump com.android.tools:r8 from 8.5.35 to 8.7.18 by @dependabot in #3762
- chore: add testcase for feature flags (api 35) by @iBotPeaches in #3774
- fix: support featureFlags anywhere by @IgorEisberg in #3771
- Fix disassembly of WhatsApp w/ un-ordered resources. by @iBotPeaches in #3799
- build(deps): bump gradle/actions from 4.2.2 to 4.3.0 by @dependabot in #3800
- fix: check for oob after jumps in table spec by @iBotPeaches in #3807
- fix: update XML element retrieval to use correct parent nodes by @aytee6 in #3811
New Contributors
Full Changelog: v2.11.0...v2.11.1
v2.11.0
What's Changed
- API 35 Preview - Vanilla Ice Cream by @iBotPeaches in #3696
- refactor: ApkDecoder & ApkBuilder overhaul by @IgorEisberg in #3699
- build(deps): bump commons-io:commons-io from 2.16.1 to 2.17.0 by @dependabot in #3701
- build(deps): bump com.google.guava:guava from 33.3.0-jre to 33.3.1-jre by @dependabot in #3703
- style: clean up tab intendation by @IgorEisberg in #3707
- new: featureFlags support for SDK 35 apps by @IgorEisberg in #3706
- fix: decoding APK with many compact entries and unknown uses-sdk attrs by @IgorEisberg in #3705
- new: support building with compact entries by @IgorEisberg in #3708
- refactor: clean up external pull parser and introduce brut.j.xml by @IgorEisberg in #3709
- fix: avoid trying to parse raw AndroidManifest by @IgorEisberg in #3720
- fix: update license reference by @emmanuel-ferdman in #3721
- refactor: tweaks IO handling by @IgorEisberg in #3723
- feat: add user, system certificate in existing network security config by @swngarg-lt in #3724
- feat: support for Android Baklava Developer Preview 1 by @iBotPeaches in #3728
- build(deps): bump gradle/actions from 4.1.0 to 4.2.0 by @dependabot in #3727
- build(deps): bump gradle/actions from 4.2.0 to 4.2.1 by @dependabot in #3733
- build(deps): bump commons-io:commons-io from 2.17.0 to 2.18.0 by @dependabot in #3732
- refactor: ExtDataInput rework, source layout and formatting by @IgorEisberg in #3738
- build(deps): bump org.apache.commons:commons-text from 1.12.0 to 1.13.0 by @dependabot in #3745
- build: update to smali/baksmali 3.0.9 by @iBotPeaches in #3747
- refactor: Config/Tests/misc rework by @IgorEisberg in #3746
- build(deps): bump gradle/actions from 4.2.1 to 4.2.2 by @dependabot in #3750
- build(deps): bump com.google.guava:guava from 33.3.1-jre to 33.4.0-jre by @dependabot in #3751
- build: version bump (2.11.0) by @iBotPeaches in #3764
New Contributors
- @emmanuel-ferdman made their first contribution in #3721
- @swngarg-lt made their first contribution in #3724
Full Changelog: v2.10.0...v2.11.0
Doc Site: https://apktool.org/blog/apktool-2.11.0
Release Blog: https://connortumbleson.com/2025/01/14/apktool-v2-11-0-released/
v2.10.0
What's Changed
- feat: Upgrade gradle to v8.5 by @Lohita9 in #3459
- test: assert miui aapt1 patch exists by @iBotPeaches in #3462
- build(deps): bump gradle/gradle-build-action from 2.10.0 to 2.11.0 by @dependabot in #3470
- build(deps): bump github/codeql-action from 2 to 3 by @dependabot in #3471
- Feature: Parallel Building by @Cregrant in #3476
- Support for configuring job count. by @iBotPeaches in #3480
- fix: deprecated is lowercase by @iBotPeaches in #3481
- build(deps): bump gradle/gradle-build-action from 2.11.0 to 2.11.1 by @dependabot in #3479
- refactor: inline runnable on smali disassemble by @iBotPeaches in #3490
- chore: correct warnings from Qodana scan by @iBotPeaches in #3491
- build(deps): bump gradle/gradle-build-action from 2.11.1 to 2.12.0 by @dependabot in #3500
- chore: minor clarity improvement in README.md by @DrankRock in #3501
- build(deps): bump com.guardsquare:proguard-gradle from 7.4.1 to 7.4.2 by @dependabot in #3509
- build(deps): bump gradle/wrapper-validation-action from 1.1.0 to 2.0.0 by @dependabot in #3510
- build(deps): bump gradle/gradle-build-action from 2.12.0 to 3.0.0 by @dependabot in #3511
- build(deps): bump gradle/wrapper-validation-action from 2.0.0 to 2.1.1 by @dependabot in #3515
- Correct Facebook Disassembly (Jan 2024) by @iBotPeaches in #3513
- build(deps): bump gradle/actions from 3.0.0 to 3.1.0 by @dependabot in #3522
- build: jump to smali/baksmali 3.0.5 by @iBotPeaches in #3519
- build(deps): bump actions/upload-artifact from 3 to 4 by @topminipie in #3528
- fix: properly handle stamp-cert-sha256 by @iBotPeaches in #3538
- build(deps): bump gradle/wrapper-validation-action from 2.1.1 to 2.1.2 by @dependabot in #3550
- build(deps): bump commons-io:commons-io from 2.15.1 to 2.16.0 by @dependabot in #3560
- feat: update internal framework to API 34 (Vanilla Ice Cream Preview) by @iBotPeaches in #3537
- Reproducible Builds by @iBotPeaches in #3559
- build(deps): bump gradle/actions from 3.1.0 to 3.2.0 by @dependabot in #3566
- build(deps): bump commons-io:commons-io from 2.16.0 to 2.16.1 by @dependabot in #3570
- build(deps): bump gradle/actions from 3.2.0 to 3.3.0 by @dependabot in #3571
- build(deps): bump gradle/wrapper-validation-action from 2.1.2 to 3.3.0 by @dependabot in #3572
- build(deps): bump gradle/actions from 3.3.0 to 3.3.1 by @dependabot in #3575
- build(deps): bump org.apache.commons:commons-text from 1.11.0 to 1.12.0 by @dependabot in #3576
- build(deps): bump commons-cli:commons-cli from 1.6.0 to 1.7.0 by @dependabot in #3577
- Correct wording in CLI usage messages by @ProgerXP in #3579
- fix: properly record compression of non-main classes.dex files by @iBotPeaches in #3584
- build(deps): bump org.xmlunit:xmlunit-legacy from 2.9.1 to 2.10.0 by @dependabot in #3585
- build(deps): bump gradle/actions from 3.3.1 to 3.3.2 by @dependabot in #3586
- fix: remove enforcement on aligned namespaces by @iBotPeaches in #3587
- feat: Upgrade gradle to v8.7 by @Lohita9 in #3595
- build: jump to smali/baksmali 3.0.7 by @iBotPeaches in #3601
- Migrate to modern Gradle Github Actions by @iBotPeaches in #3594
- Workaround invalid org.xmlpull loader with R8 by @iBotPeaches in #3604
- build(deps): bump commons-cli:commons-cli from 1.7.0 to 1.8.0 by @dependabot in #3607
- Readme: Improve title and wording for docs link by @tutacat in #3611
- Resolve a resource leak where the ZipFile is not closed by @alsutton in #3618
- build(deps): bump gradle/actions from 3.3.2 to 3.4.1 by @dependabot in #3624
- build(deps): bump gradle/actions from 3.4.1 to 3.4.2 by @dependabot in #3628
- Add missing stream closing by @azotzot in #3634
- build(deps): bump org.apache.commons:commons-lang3 from 3.14.0 to 3.15.0 by @dependabot in #3647
- build(deps): bump gradle/actions from 3.4.2 to 3.5.0 by @dependabot in #3648
- Refresh aapt2 binaries. by @iBotPeaches in #3651
- Sort files list in FileDirectory::loadAll() by @luk1337 in #3657
- build(deps): bump gradle/actions from 3.5.0 to 4.0.0 by @dependabot in #3662
- build(deps): bump org.apache.commons:commons-lang3 from 3.15.0 to 3.16.0 by @dependabot in #3663
- build(deps): bump com.android.tools:r8 from 8.3.37 to 8.5.35 by @dependabot in #3671
- build(deps): bump commons-cli:commons-cli from 1.8.0 to 1.9.0 by @dependabot in #3672
- test(aapt2) - add foregroundServiceType test by @iBotPeaches in #3674
- Remove tabs in linux script by @alexpopov in #3676
- build(deps): bump gradle/actions from 4.0.0 to 4.0.1 by @dependabot in #3679
- build(deps): bump org.apache.commons:commons-lang3 from 3.16.0 to 3.17.0 by @dependabot in #3680
- feat: update internal framework to API 34 (Vanilla Ice Cream) by @iBotPeaches in #3681
- Add ability to automatically pick up the latest apktool.jar version by @codebymikey in #3683
- build(deps): bump com.google.guava:guava from 32.0.1-jre to 33.3.0-jre by @dependabot in #3670
- build: upgrade to smali/baksmali 3.0.8 by @iBotPeaches in #3690
- build(deps): bump gradle/actions from 4.0.1 to 4.1.0 by @dependabot in #3692
- fix: allow maven to publish without implicit task ordering by @iBotPeaches in #3693
New Contributors
- @Cregrant made their first contribution in #3476
- @DrankRock made their first contribution in #3501
- @topminipie made their first contribution in #3528
- @ProgerXP made their first contribution in #3579
- @azotzot made their first contribution in #3634
- @luk1337 made their first contribution in #3657
- @alexpopov made their first contribution in #3676
- @codebymikey made their first contribution in #3683
Full Changelog: v2.9.3...v2.10.0
Doc Site: https://apktool.org/blog/apktool-2.10.0
Release Blog: https://connortumbleson.com/2024/09/17/apktool-v2-10-0-released/
v2.9.3
- [#3492] Fix #GHSA-vgwr-4w3p-xmjv (Arbitrary file writes on Windows). (Thanks Cl0udG0d)
Full Changelog: v2.9.3...v2.9.3
Doc Site: https://apktool.org/blog/apktool-2.9.3
Release Blog: https://connortumbleson.com/2024/01/20/apktool-v2-9-3-released/
v2.9.2
- [#3484] Fix #GHSA-2hqv-2xv4-5h5w (Arbitrary file writes). (Thanks 0x33c0unt)
Full Changelog: v2.9.1...v2.9.2
Doc Site: https://apktool.org/blog/apktool-2.9.2
Release Blog: https://connortumbleson.com/2024/01/05/apktool-v2-9-2-released/
v2.9.1
What's Changed
- feat: Upgrade gradle to v8.4 by @ArjunaKumarMohanta in #3376
- build(deps): bump docker/build-push-action from 4 to 5 by @dependabot in #3384
- build(deps): bump docker/login-action from 2 to 3 by @dependabot in #3385
- build(deps): bump docker/setup-buildx-action from 2 to 3 by @dependabot in #3386
- refactor: support current position during chunk verbose output by @iBotPeaches in #3395
- use apiLevel instead of forceApi when building the apk by @JoshMiers-FS in #3399
- build: test on lts versions (including 21) by @iBotPeaches in #3381
- build: docker fixes by @iBotPeaches in #3378
- feat: de-dupe attribute names during styles writing by @iBotPeaches in #3404
- Update Docker build instructions after #3363 by @jabagawee in #3407
- build(deps): bump commons-io:commons-io from 2.14.0 to 2.15.0 by @dependabot in #3412
- build(deps): bump commons-cli:commons-cli from 1.5.0 to 1.6.0 by @dependabot in #3413
- build(deps): bump org.apache.commons:commons-text from 1.10.0 to 1.11.0 by @dependabot in #3414
- Adapt null resource to be treated as reference instead of empty string. by @iBotPeaches in #3417
- build: patch aapt2 to ignore private resources (unix/win) by @iBotPeaches in #3396
- build: remove docker by @iBotPeaches in #3423
- test: add test case for android:isAccessibilityTool by @iBotPeaches in #3426
- #3427 - Treat manifest warnings as warnings by @iBotPeaches in #3429
- build(deps): bump org.apache.commons:commons-lang3 from 3.13.0 to 3.14.0 by @dependabot in #3443
- build(deps): bump com.guardsquare:proguard-gradle from 7.4.0 to 7.4.1 by @dependabot in #3444
- build(deps): bump gradle/gradle-build-action from 2.9.0 to 2.10.0 by @dependabot in #3445
- fix: support alignment towards resTable_entry start by @iBotPeaches in #3452
- build(deps): bump commons-io:commons-io from 2.15.0 to 2.15.1 by @dependabot in #3453
- build(deps): bump actions/setup-java from 3 to 4 by @dependabot in #3454
New Contributors
- @JoshMiers-FS made their first contribution in #3399
- @jabagawee made their first contribution in #3407
Full Changelog: v2.9.0...v2.9.1
Doc Site: https://apktool.org/blog/apktool-2.9.1
Release Blog: https://connortumbleson.com/2023/12/06/apktool-v2-9-1-released/