Ramblings of a Tampa engineer

Apktool v2.4.0 has been released! This is a overdue patch release, featuring fixes from all around the tool.

Last release (2.3.4) promised official support for select Android devices. I went back on this decision and turned down the merge request to bring in official Android support for Apktool. It's no secret that my AOSP knowledge (especially C++) is not good, this means taking a feature and making sure it survives is more of a challenge for me. Pairing this with the difficult and ever evolving feature of running binaries on Android, led me to ultimately turning down this feature.

On the front of aapt, we have an exciting announcement that Apktool is now fully tested on each commit on all three major operating systems - (Unix, Windows and Mac). Since we bundle aapt and appt2 in the Apktool binary, we need to ensure that those binaries work. We've unforunately regressed in Windows multiple times throughout the history of this tool and this change will hopefully prevent that from happening going forward.

This release was primarily produced by members of the open source community and I can't thank them enough. The logistical nightmare of open source projects leaves a never ending list of things to do. So when members of the community discover an issue and put forward a fix just puts a smile on my face.

This release was incremented to a new minor version (4) due to the requirement of Java 8.

This release had 69 commits by 6 people.

  • Connor Tumbleson (iBotPeaches) - 49 commits
  • Igor Eisberg - 15 commits
  • Vincent Barthelemy - 2 commits
  • Frieder Blumle - 1 commit
  • Sebastian Rasmussen - 1 commit
  • a-bahmani - 1 commit

Changes since 2.3.4

  • [#1893] Updated baksmali/smali to v2.2.6
  • [#1918] Fixed issue with new restriction with non-empty ids.xml file. (Thanks gino247)
  • [#1909] Fixed issue with PlatformBuildVersion properties changing to unexpected values. (Thanks gino247)
  • [#1943] Fixed issue with pending v5 Gradle upgrade, by taking point release v4.10.2. (Thanks Frieder Blumle)
  • [#1849] Added no-crunch support via new parameters - -nc | --no-crunch. (Thanks Novex)
  • [#1975] Added automatic tests on Windows environment.
  • [#1952] Fixed issue when decoding .xsd files between aapt1/aapt2.
  • [#1976] Fixed issue with decoding applications with a malformed chunk header. (Thanks sebras)
  • [#1996] Fixed issue with Mac scripts stealing focus.
  • [#1994, #1922] Fixed issue with array resource bag items having wrong type. (Thanks vbarthel-fr)
  • [#1522] Fixed issue with 9patch images missing vertical or horizontal divs. (Thanks IgorEisberg)
  • Fixed issue with resolving references to non-standard framework files. (Thanks IgorEisberg)
  • Fixed issue with resolving SDK Version Codes that were references. (Thanks IgorEisberg)
  • Added 32bit binaries for unix and win for aapt1/aapt2.
  • Added ability for api-level to be passed to smali. (Thanks IgorEisberg)


  • Applications are becoming more and more difficult to build with aapt1, using the --use-aapt2 flag during rebuild is a good test.


  • Apktool 2.4.0
    • md5 327b9389153ea29509963878e69012e4
    • sha256 a0f116e8916d6f21160e1559847bb8b8c32ee71900f321cafeadbe37b87ebcc1
    • Rename to apktool.jar and follow the Instruction Guide if you need help.
You’ve successfully subscribed to Connor Tumbleson
Welcome back! You’ve successfully signed in.
Great! You’ve successfully signed up.
Success! Your email is updated.
Your link has expired
Success! Check your email for magic link to sign-in.