51,735
stars
+25
5,929
forks
862
watchers
866
prs
2,148
issues
35
releases
13
discussions
README
JADX
!Build status
!GitHub contributors
!GitHub all releases
!GitHub downloads (latest release)
!Latest release
!Java 11+
jadx - Dex to Java decompiler
Command-line and GUI tools for producing Java source code from Android Dex and APK files
[!WARNING]
Please note that in most cases jadx can't decompile 100% of the code, so errors will occur.
Check the Troubleshooting guide for workarounds.
Main features:
- decompile Dalvik bytecode to Java code from APK, dex, aab, apks, apkm, xapk and zip files
- also decompile Java bytecode (jar, class, aar) and smali files
- decode AndroidManifest.xml and other resources from resources.arsc
- deobfuscator included
jadx-gui features:
- view decompiled code with syntax highlighting
- jump to declaration
- find usage
- full-text search
- smali debugger, see the wiki page for setup and usage
Key bindings for jadx-gui can be found here
See these features in action here: jadx-gui features overview
Download
- release
from GitHub: 
- latest unstable build 
For jadx-.zip, unpack it, go to the bin directory and run:
- jadx - command-line version
- jadx-gui - GUI version
On Windows, run the .bat files with a double-click.
For the Windows bundles, unpack and run jadx-gui-.exe.
Note: make sure you have 64-bit Java 11 or later installed (not needed for the with-jre bundle).
For Windows, you can download it from oracle.com (select the x64 Installer).
Install
- Arch Linux
bash
sudo pacman -S jadx
- macOS
bash
brew install jadx
- Flathub
bash
flatpak install flathub com.github.skylot.jadx
Usage
jadx[-gui] [command] [options] (.apk, .dex, .jar, .class, .smali, .zip, .aar, .arsc, .aab, .xapk, .apkm, .apks, .jadx.kts)
commands (use ' --help' for command options):
plugins - manage jadx plugins
options:
-d, --output-dir - output directory
-ds, --output-dir-src - output directory for sources
-dr, --output-dir-res - output directory for resources
-r, --no-res - do not decode resources
-s, --no-src - do not decompile source code
-j, --threads-count - processing threads count, default: half of CPU threads
--single-class - decompile a single class, full name, raw or alias
--single-class-output - file or dir for write if decompile a single class
--output-format - can be 'java' or 'json', default: java
-e, --export-gradle - save as gradle project (set '--export-gradle-type' to 'auto')
--export-gradle-type - Gradle project template for export:
Top issues
#1628java.lang.IllegalArgumentException: Comparison method violates its general contract!26 comments · 2022-08-11#2970Offering of help19 comments · 2026-09-30#2842Jadx seems to use a lot of memory.17 comments · 2026-04-04#2119[feature] Improve constant replacement by using android sdk libs14 comments · 2024-03-09#1181[core] Unable to complete the work within 24 hours,I don't know what went wrong。Please check the log~13 comments · 2021-05-28#947error: package com.xxx.a clashes with class of same name13 comments · 2020-06-04#1882[feature]JADX adds fernflower engine12 comments · 2023-05-26#1537[feature] Edit smali in Jadx-GUI and see live Java12 comments · 2022-06-15
Discussions
#3022leer codigo1 comments · 2026-10-19#2967Porting jadx to HarmonyOS NEXT PC via embedded JVM - Courtesy notice & name check2 comments · 2026-09-28#2965Help tracing Samsung Photo Editor Generative Edit call chain1 comments · 2026-09-25#29121.5.60 comments · 2026-07-10#28021.5.52 comments · 2026-02-25#27901.5.40 comments · 2026-02-13#2747Automation of trace from function3 comments · 2026-01-18#2742Decrypting strings3 comments · 2026-01-08
Latest release
1.5.6 v1.5.6 2026-07-10Main features and fixes Security fixes: - Reject absolute or path to CWD for zip entries - Sanitize all string values for gradle scripts on export - Add missing escaping on summary page Core: - Use queue instead of recursion for type updates GUI: - Graph views, code pane sync, and more (PR 2784) - Collapse single-child directory chains in resource tree (PR 2866) - Handle pasted file lists in file chooser (PR 2876) - Show simple message box for file exceptions (2659) API: - Allow to create input category node even if no matching files found (2806) - New module/library for