Ramblings of a Tampa engineer

Apktool v2.1.0 has been released! This version brings a bunch of fixes and adds smali as a dependency instead of a gitsubmodule. It additionally removes the SmaliDebugging feature in favour of SmaliIdea (A plugin for IntelliJ to provide debugging for .smali files authored by JesusFreke).

This release had 30 commits by 7 people.

  • Connor Tumbleson (iBotPeaches) - 18 commits
  • Andrei Zhukouski (BurgerZ) - 3 commits
  • Ira Hanson (ihanson) - 3 commits
  • Matt Sarett (mattsarett) - 2 commits
  • Chirayu Desai (chirayudesai) - 1 commit
  • Dave Nault - 1 commit
  • Christopher R. Palmer (crpalmer) - 1 commit
  • Rover12421 (rover12421) - 1 commit

Changes since v2.0.3

  • smali updated to 2.1.1.
  • [#1061] Removes SmaliDebugging.
  • [#1122] Fixed issue when a non-compressed file has no extension. (Thanks BurgerZ)
  • [#1128] Revamped internal storage of apktool.yml to be serialized objects vs entries in HashMap. (Thanks rover)
  • [#1143] Closes streams that were not properly closed.
  • [#1123] Fixes issue when @null was improperly decoded.
  • [#1145] Fixes issue when apk filename has trailing space. (Thanks BurgerZ)
  • [#1130] Fixes issue that all digits were treated as string using \ ### trick.
  • [#1146] Added additional feature to --keep-broken-res to ignore resource duplicates. (Thanks crpalmer)
  • [#1186] Performance enhancement - Stops using String.format() for MISSING_RES_SPECS. (Thanks dnault)
  • [#1170] Added support for decoding AndResGuard apps.
  • [#1166] Removed LittleEndianReader in favor for a public domain one. (Thanks chirayudesai)
  • [#1180] Adapt 9patch decoder to handle any format (Color Table, RGB, RGBA, Gray, GrayAlpha). (Thanks mattsarett)
  • Added ability for launched executables (aapt) to differentiate between output and error streams. (Thanks BurgerZ)
  • Fixed issue with non printable chars in unknown files. (Thanks ihanson)


  • The version bump to 2.1.x was for the removal of SmaliDebugging. A warning of this removal had been emitted since version 2.0.3. JesusFreke of Smali has created SmaliIdea a plugin to replicate this functionality.
  • --keep-broken-res will now ignore duplicate resources to allow decodes of applications that modify core Android. This decoded application won't be build-able, but can be used for analysis.