Apktool is an all-in-one tool that can extract all the resources inside an APK.
Ranked in these QuestionsQuestion Ranking
Pro Capable of disassembling resources to near-original form
It can disassemble resources in APK binaries to their nearly-original form, including
9.png, and XMLs. Apktool is the best tool for users who want to get as many resources as possible from an APK.
Pro Can recompile the APK
Apktool decompiles to Smali which is a low-level code language, this allows the user to make changes, recompile, sign, and test to see the changes.
Pro Can decode and build most APKs
Every Apktool release has the most up to date AOSP (Android Open Source Project) framework binding at the time of the release. This allows to decompile and build most APKs without a problem.
Con Requires command line knowledge
Users not familiar with a CLI might struggle to use this tool. For them, it is recommended to use other options such as JADX or APK EasyTool.
Con Can't get Java source code from APK
As it is meant to be able to recompile, information would be lost decompiling to Java and recompilation would not be posible.
Con Decompiles to Smali
Smali code can be harder to understand because it is a low-level code language.
Con Unable to give a quick overview of an APK
Does not come with a GUI or built-in text/file viewer/editor.