Ramblings of a Tampa developer

Apktool v2.4.1 has been released! This is very much delayed, but needed release for Android 10 support along with additional support in fixing Windows issues.

Before we jump into the details. This release was honestly delayed from just pure burn out. Keeping a project alive just becomes a daunting task, especially when you pair together a few weddings, work travel and cruise vacation. The backlog of just logistical "stuff" that needs to be done is enormous and I never had a good block of time, especially when tickets are so complicated and require a good deal of brain power to investigate.

This release continues patches for both aapt1/aapt2, with regards of ensuring a static binary to fix issues on Windows. This is probably one of the last releases where aapt2 is opt-in, instead of being the default. Another great fix included in this release is fixing issues related to the non-stop problem of recording the compression type of included files. Now files are written to a temporary file and that file is passed onward to aapt. Thanks to peret for taking lead and fixing all of that up.

As a final note, I've moved the building of aapt1/aapt2 binaries to AOSP master branch, as using official tags were lacking patches that were required. I can't wait on the release cycle of tools and Android 11, so we've swapped to master.

Continuing from the last release, the community stepped in massively to help deliver pull request after pull request for changes. I'm very thankful for anyone who decides to help and contribute to the project.

This release had 90 commits by 11 people.

  • Connor Tumbleson (iBotPeaches) - 72 commits
  • Igor Eisberg - 4 commits
  • Adib Faramarzi (adibfara) - 2 commits
  • Daniel Malmqvist - 2 commits
  • Frieder Bluemle (friederbluemle) - 2 commits
  • Peter Retzlaff (peret) - 2 commits
  • huangweijie - 2 commits
  • Brian Pak (brianairb) - 1 commit
  • Shaheen Gandhi - 1 commit
  • Bruno Passeri (Varstahl) - 1 commit
  • yangjing.yeoh (JingYeoh) - 1 commit

Changes since 2.4.0

  • Updated baksmali/smali to v2.3.4
  • Updated gradle to 5.6.2
  • [#2131] Added support for Android Q (Android 10)
  • [#2086] Fixed build issue with JDK9+ due to jmod change.
  • [#2058] Fixed security issue with unpacking assets via directory traversal.
  • [#2027] Fixed issue with api-level command not showing up.
  • [#2048] Fixed issue with directory warning when not automatically making framework directory.
  • [#2045] Fixed issue with mapping for codename "Q" release
  • [#2046] Fixed issue with raw qmg files not decoding properly.
  • [#2064] Fixed issue copying assets to a directory that does not exist.
  • [#2063] Fixed NPE with empty attributes during deserialization.
  • [#2084, #2018] Fixed removal of META-INF/services. (Thanks adibfara)
  • [#2117] Fixed support for "attr" bag type. (Thanks visigoth)
  • [#2093] Fixed license headers on AOSP/Android4Me files.
  • [#2120] Added enhanced wrapper for Windows. (Thanks Varstahl)
  • [#2051] Added advanced command for skipping non-root dex packages.
  • [#2028] Fixed issue with MIUI package names being renamed. (Thanks IgorEisberg)
  • [#1272] Fixed issue with too long command due to uncompressed file list. (Thanks IgorEisberg)
  • [#2071] Fixed issue with NPE on annotations.
  • [#1576] Fixed issue with garbled attributes. (Thanks brianairb)
  • [#2226] Fixed regression with --only-main-classes not usable. (Thanks realityJie)
  • [#2141] Fixed issue with bugged Window aapt builds. (Thanks Furniel)
  • [#2105] Fixed issue with JVM not knowing bitness on Windows.
  • [#1272] Fixed issue with long path commands due to recording compression. (Thanks peret)

Notes

  • Applications are becoming more and more difficult to build with aapt1, using the --use-aapt2 flag during rebuild is a good test.
  • A new internal framework was added (Android 10). Please ensure you update frameworks using apktool empty-framework-dir

Download

  • Apktool 2.4.1
    • 8afe0ea0336139fd57eb504433d602e6 md5
    • bdeb66211d1dc1c71f138003ce35f6d0cd19af6f8de7ffbdd5b118d02d825a52 sha256
    • Rename to apktool.jar and follow the Instruction Guide if you need help.