ApkTool

2.5.0

Reverse engineer Android APKs, whether they\'re third party, closed or binary, with the help of this command-line development tool

Made for reverse-engineering Android APK files, ApkTool is a free and open-source tool that drops the graphical interface in favor of the command-line environment. With its help, Android developers can decode resources from third-party, closed and binary APKs, whether they want to extract and take a look at resources.arsc, 9.png, classes.dex, XMLs or other files.

Reverse-engineer Android APK files with ease


To be able to use this program, it's necessary to have Java Runtime Environment (JRE) installed, along with (at least) basic skills of Android SDK, AAPT and smali. ApkTool was designed to help developers deconstruct Android apps, examine the original source code, make changes to improve the apps or resolve errors, as well as to put the apps back together in binary APK/JAR.
The apktool d[ecode] [options] syntax can be used for decoding the Android app, where the destination directory can be deleted by force (-f,--force) and the apk.out default output name of the folder can be changed (-o,--output ). Furthermore, ApkTool can be instructed to use the tagged framework files or the ones located in a specified directory (-t,--frame-tag or -p,--frame-path ), as well as to skip the decoding the resources or sources (-r,--no-res or -s,--no-src).

Decode Android apps, install frameworks, and rebuild the APKs


Meanwhile, apktool if|install-framework [options] can be used for setting up a framework, where it's possible to specify a directory for storing framework files (-p,--frame-path ) and to tag frameworks (-t,--tag ). To rebuild the Android app after making code modifications, users can input apktool b[uild] [options] . All files can be forcefully built by skipping changes detection (-f,--force-all).
Keep in mind that the maker of ApkTool disapproves of piracy and other non-legal uses of this application. Instead, it's designed to t analyze apps, fix errors, add new features or extend support for other platforms, to name some examples. It's straightforward and easy to use.
Discussion