The decompile-apk tool consists of scripts and various tools. It can provide automated decompilation to produce Java source code and resources from Android APK files that are displayed on a GUI.
- jd-gui
 
- jadx
 
- classyshark
 
- bytecode-viewer
 
- Apktool : v2.4.1
 - dex2jar : v2.1
 - jd-gui : v1.6.6
 - jadx : v1.1.0
 - android-classyshark : v8.2
 - bytecode-viewer : v2.9.22
 
- Mac
 - Linux / Unix
 
# using integrated tools to decompile apk (recommend)
sh decompile-apk.sh *.apk
# using apktool/dex2jar/jd-gui to decompile apk
sh jdgui-apk.sh *.apk
# using jadx to decompile apk
sh jadx-apk.sh *.apk
# using classyshark to decompile apk
sh classyshark-apk.sh *.apk
# using bytecode-viewer to decompile apk
sh bytecode-viewer.sh *.apk
- 
Apktool
- advantage
- complete resource files
 - source code in detail
 
 - disadvantage
- using more complex, need for a combination of multiple tools
 - cannot better view the APK architecture logic
 
 
 - advantage
 - 
classyshark
- advantage
- easy to use, just a command line
 - source directory structure is clear, view the entire APK architecture graphically
 
 - disadvantage
- source code too simple
 - cannot get resource files
 
 
 - advantage
 - 
jadx
- advantage
- convenient and quick
 - more perfect GUI interface, with more practical functions
 - decompile code readability is high
 
 - disadvantage
- resource files partially missing
 
 
 - advantage
 - 
bytecode-viewer
- advantage
- support apk, dex, jar, and so on
 - better visual feedback
 
 - disadvantage
- analyse file slower
 
 
 - advantage
 
- more decompile tools
 - support decompile dex/aar/jar files
 



