Skip to content

Support us at

Authors: fire1ce | Created: 2022-08-05 | Last update: 2026-07-14

JADX Android Decompiler

JADX produces Java source from Android DEX bytecode and decodes resources such as AndroidManifest.xml. It includes both a command-line tool and a desktop GUI.

Note

Decompiled source is a reconstruction, not the original project. JADX warns that it cannot recover 100% of every application, so expect errors around obfuscated, optimized, or unusual bytecode.

Use it only on applications you own or are authorized to inspect.

Install JADX

The project publishes release archives containing both jadx and jadx-gui. The cross-platform archive requires a 64-bit Java 11 or later runtime.

On macOS, the project also documents Homebrew:

brew install jadx

On Arch Linux:

sudo pacman -S jadx

On other systems, download a release archive, unpack it, and run the launcher from its bin directory. Prefer the official release page over third-party download sites.

Use the GUI

Open an APK directly:

jadx-gui app.apk

The GUI provides syntax highlighting, navigation to declarations, usage search, and full-text search. Start here when you need to explore an unfamiliar application.

Use the CLI

Decompile an APK into a chosen directory:

jadx -d app-source app.apk

Skip resources when you only need source output:

jadx --no-res -d app-source app.apk

Skip source decompilation when you only need decoded resources:

jadx --no-src -d app-resources app.apk

Check the options supported by your installed version:

jadx --help

JADX accepts APK, DEX, JAR, CLASS, AAB, AAR, ZIP, XAPK, APKM, and several related input formats. Support can change between releases, so the local --help output is the final reference for your installed build.

When output looks wrong

  • Check the GUI log for decompilation errors.
  • Compare questionable Java output with the Smali view.
  • Search by strings, resources, and call sites instead of trusting one reconstructed method.
  • Retest with the current JADX release before reporting a decompiler bug.

Sources

Comments