v2.9.0
What's Changed
- test: add failing/passing sparse/not-sparse test by @iBotPeaches in #3201
- Fix LocaleNumberSystem + ConfigFlag reading by @iBotPeaches in #3205
- Streamline decoding AndroidManifest.xml by @sv99 in #3171
- fix: support skipping unread header sizes of ResChunk by @iBotPeaches in #3180
- fix: support skipping entries with NO_ENTRY (-1) flag by @iBotPeaches in #3209
- fix: handle larger axml namespace headers than known by @iBotPeaches in #3210
- Explicit ResFileDecoder initialization in the decodeResources by @sv99 in #3211
- build(deps): bump gradle/gradle-build-action from 2.6.0 to 2.6.1 by @dependabot in #3213
- build(deps): bump gradle/wrapper-validation-action from 1.0.6 to 1.1.0 by @dependabot in #3214
- Support explicit operation for when to load full resource table by @sv99 in #3217
- fix: adjust helper files to include system property sets by @iBotPeaches in #3215
- feat: Introduce --no-compile-sdk-metadata by @iBotPeaches in #3208
- "--no-compile-sdk-metadata" tests. by @iBotPeaches in #3220
- fix: end parsing if EOF is hit by @iBotPeaches in #3223
- suppress javadoc lint warning by @sv99 in #3222
- Remove SnakeYAML for manual YAML Parser by @sv99 in #3191
- fix: Gradle wrapper validation trigger issue by @ArjunaKumarMohanta in #3228
- Manual YAML Cleanup by @iBotPeaches in #3229
- Support empty resource table. by @iBotPeaches in #3230
- refactor: clean up style and redundancy by @IgorEisberg in #3232
- fix: support duplicated namespaces by @iBotPeaches in #3233
- fix: resolve missing namespace on system resources by @iBotPeaches in #3234
- Move to XMLUnit Legacy by @iBotPeaches in #3235
- fix: skip unknown chunks in AXML by @iBotPeaches in #3237
- fix: skip files that attempt to break filesystem by @iBotPeaches in #3238
- build(deps): bump gradle/gradle-build-action from 2.6.1 to 2.7.0 by @dependabot in #3241
- Hardened String Block Parser by @iBotPeaches in #3239
- build(deps): bump org.apache.commons:commons-lang3 from 3.12.0 to 3.13.0 by @dependabot in #3240
- in the ApkDecoder use apkFile and unknownFiles from ApkInfo by @sv99 in #3242
- merge ResAttrDecoder into the AXmlResourceParser by @sv99 in #3243
- Migrate to Gradle Kotlin DSL by @iBotPeaches in #3249
- fix: support decoding application with duplicate res entries by @iBotPeaches in #3252
- fix: support encode styled string if length larger than offset by @iBotPeaches in #3254
- refactor: change naming pattern of class variables in StringBlock by @iBotPeaches in #3256
- Remove Apktool Dummys. by @iBotPeaches in #3258
- build: upgrade to shadow build 8.1.1 by @iBotPeaches in #3259
- Refactor logging for chunks and sparse flags. by @iBotPeaches in #3260
- refactor: split out string block vs res table string by @iBotPeaches in #3267
- refactor: remove unused decodeManifest function by @iBotPeaches in #3268
- refactor: remove deprecations from test suite by @iBotPeaches in #3269
- refactor: remove unneeded blocks/semicolons by @iBotPeaches in #3273
- fix: bump heap size to 1g max by @iBotPeaches in #3286
- feat: Upgrade gradle to v8.3 by @ArjunaKumarMohanta in #3275
- build(deps): bump gradle/gradle-build-action from 2.7.0 to 2.7.1 by @dependabot in #3285
- fix: correct path to archive during ci by @iBotPeaches in #3287
- feat: shorten archive name to apktool-{version}.jar by @iBotPeaches in #3289
- fix: obtain git history for proper "git describe" by @iBotPeaches in #3291
- refactor: use proper enum (0 on both) for setMethod() by @iBotPeaches in #3297
- Prevent poisioning mResTable if Framework is sparse. by @iBotPeaches in #3299
- Sponsors by @iBotPeaches in #3301
- refactor: verbose doesn't adapt handler by @iBotPeaches in #3310
- build(deps): bump gradle/gradle-build-action from 2.7.1 to 2.8.0 by @dependabot in #3316
- Feat: Introduce "res-mode" options. by @iBotPeaches in #3318
- refactor: make _options lowercase by @iBotPeaches in #3324
- build(deps): bump actions/checkout from 3 to 4 by @dependabot in #3327
- Support Disassembly of mega old Android (M5) by @iBotPeaches in #3325
- Reworks Attr/Array Handler by @iBotPeaches in #3326
- fix: enforce java 1.8 compatibility with built artifacts by @iBotPeaches in #3330
- refactor: adjust line to fit 120 length line endings in /value by @iBotPeaches in #3338
- fix: handle duplicate res entries during a complex resource by @iBotPeaches in #3347
- refactor: use static inner classes for AbstractDirectory by @iBotPeaches in #3348
- refactor: suppress last unused method return by @iBotPeaches in #3349
- build: migrate towards "libs.versions.toml" by @iBotPeaches in #3353
- fix: support more resource-modes params by @iBotPeaches in #3354
- build: add dependency graph support by @iBotPeaches in #3355
- refactor: remake android-framework jar file by @iBotPeaches in #3356
- build(deps): bump gradle/gradle-build-action from 2.8.0 to 2.9.0 by @dependabot in #3359
- build(deps): bump commons-io:commons-io from 2.13.0 to 2.14.0 by @dependabot in #3358
- Add Docker support by @Fmstrat in #3351
- Added auto-build of docker image by @Fmstrat in #3361
- build: update aapt/aapt2 with win/linux binaries by @iBotPeaches in #3360
- Android 14 Support (Partial) by @iBotPeaches in #3206
- Added support for PR builds on master by @Fmstrat in #3363
- Move aapt2 to default (from aapt1) by @iBotPeaches in #3370
- refactor: hard-code IMAGE_NAME, add some spaces by @iBotPeaches in #3371
- fix: support COMPACT/OFFSET16 packed resources. by @iBotPeaches in #3372
- Update Windows helper script to handle /c properly. by @maksz42 in #2973
- Android 14 - Support for Grammatical Inflection by @iBotPeaches in #3374
- build: restore aapt1 miui qualifiers + static by @iBotPeaches in #3379
New Contributors
Full Changelog: v2.8.1...v2.9.0
Blog: https://connortumbleson.com/2023/10/08/apktool-v2-9-0-released/
Doc Site: https://apktool.org/blog/apktool-2.9.0