Apktool is a Windows/Mac/Linux utility for reverse engineering Android apps. It allows you to decode an app, change something, rebuild it, and pray it still runs. You're going to need something like this if you're into theming apps, hacking a feature onto someone else's app, finding security holes, or just want to hunt for info.

Apktool has been freshly updated to version 1.5.1, with the new headline feature being "Android 4.2 support." Here's the full changelog.

  • Android 4.2 support
  • Added -a / -aapt command on rebuild to specify location of aapt
  • Updated unit tests for 4.2 support
  • Closed file-handler when writing frameworks to file system.
  • Updated to Gradle 1.3
  • Properly deleted tmp files after building apk ( issue #365 )
  • Added support for renamed packages via --renamed-manifest-package ( issue #252 )
  • Option to specify framework folder ( issue #175 )
  • Prevents removal of configChanges in AndroidManifest ( issue #304 )
  • Updated snakeyaml to 1.11 to fix "unacceptable character" errors. ( issue #360 )
  • Updated smali/baksmali to v1.4.1
  • Fixed reference-array problem ( pull request #53)
  • Fixed bad spacing issue on Mac OS X (pull request #49)
  • Removed maven in favor of gradle
  • Removed Maven REPOs that were used if local projects didn’t exist.
  • Merged brut.j.dir,brut.j.common,brut.j.util & brut.apktool.smali (Fork of JesusFreke’s smali) into one repo.
  • Fix –verbose mode to actually work
  • Added SDK API 17 framework

Now, I'm not entirely sure what they mean by "Android 4.2" support - the old version has always worked just fine for me, but more compatibility with the newest version can't be bad. Verbose mode sounded interesting, so I figured I'd try it out:


I'm sure it's more useful when something goes wrong.

Anyway, I'm sure you're itching to get your hands on the latest version. The download link is right here, and you'll also want to grab the new dependencies files for your platform. If you're upgrading from 1.4.x, check out the handy migration instructions.

If you find and/or make anything neat, let us know. Hopefully there will be many more updates now that a new developer has taken over the project.

Source: android-apktool on Google Code

Ron Amadeo
Ron loves everything related to technology, design, and Google. He always wants to talk about "the big picture" and what's next for Android, and he's not afraid to get knee-deep in an APK for some details. Expect a good eye for detail, lots of research, and some lamenting about how something isn't designed well enough.
  • http://www.androidpolice.com/ Artem Russakovskii

    Yay! Been waiting for an update for ages, was afraid it was actually abandoned until iBotPeaches took over from Brut.all. Any stability improvements are definitely welcomed, as crashes during decoding resources are all too common.

  • Wolf

    ok, time for a noob question - aren't the APKs password protected? Then how do you analyze them? Do they have documentation for this tool somewhere, for folks who are absolutely zero about android development?

    • http://www.androidpolice.com/author/ron-amadeo/ Ron Amadeo

      APKs aren't password protected, in fact, they are just fancy zip files. You can unpack an APK with something like WinRAR and view the images. Apktool goes a step further and gives you readable xml and smali code.

      • http://www.facebook.com/rmkattan Rami Kattan

        I remember reading that soon apk files for paid apps will be encrypted per device by Google, can't remember where.... any idea?

        • Android Advocate

          APKs are now stored in a more secure fashion on user devices, however if you have root, you can still access the raw apk. So they've made strides, but they haven't totally locked them away.

        • http://twitter.com/jamesbarone97 Alexander Barone

          Yea that rolled out with 4.1 but then they undid that because it broke a lot of things and caused a lot of issues

      • Wolf

        Thanks Ron! Seems I got a good pass-time now... let's get into the Matrix! :D

  • Sergii Pylypenko

    No doubt it's also used to remove license checks to pirate apps. Although apps will be pirated even without this tool, and legitimate usage cases outweight that.

  • ssj4Gogeta

    I remember Google mentioning in the last IO that they're gonna enable package encryption. Has that been implemented yet?

    • http://www.dsaif.com/ Saif

      Jelly Bean App Encryption?

  • Greg Milette

    How do we use renamed-manifest-package

  • http://code4lifevn.blogspot.com/ Đỗ Mạnh

    Hey, Ron Amadeo.

    ApkTool command-line is so difficult to use.

    You can use http://mobilelife.vn/thread/cong-cu-super-apk-tool-v1-0-cong-cu-viet-hoa-khong-the-thieu.19/