When comparing Apktool vs JADX, the Slant community recommends JADX for most people. In the question“What are the best apk decompilation tools?” JADX is ranked 1st while Apktool is ranked 3rd. The most important reason people chose JADX is:
It provides the app structure and a keyword search function to browse through the decompiled APK helping the user to understand its logic.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Capable of disassembling resources to near-original form
It can disassemble resources in APK binaries to their nearly-original form, including resources.arsc
, classes.dex
, 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.
Pro Allows you to see the app structure after decompiling
It provides the app structure and a keyword search function to browse through the decompiled APK helping the user to understand its logic.
Pro Can save a decompiled app as a gradle project
Allows the user to save a decompiled apk as a Gradle project so it can be easily recognized by common IDE's like Android Studio or Eclipse.
Pro Produces human-friendly source code
JADX can decompile .dex files to Java class files, providing readability of the code.
Pro Free and open source
It's licensed under Apache 2.0.
Pro Available as web app yag
Apps can be decompiled using this tool at javadecompilers.com/apk.
Cons
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 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.
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 App decompilation might fail
If the app uses some non-ASCII characters the decompilation will fail.
