jadx

jadx 1.5.6

Command line and GUI tools for producing Java source code from Android Dex and Apk files

  • By Skylot
  • Open Source
  • Portable
  • Updated Jul 10, 2026
Download for Windows

About jadx

Command line and GUI tools for producing Java source code from Android Dex and Apk files

What's new in 1.5.6

Main 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 work with call graphs (#2890)

All changes
<details>
<summary>Click to expand</summary>

Features

  • [core] Graph views, code pane sync, and more (PR #2784)
  • [core] Use queue instead of recursion for type updates
  • [core] New module/library for work with call graphs (#2890)
  • [gui] Add mimetype for desktop file
  • [gui] Open single loaded class after load
  • [gui] Add "copy reference" to context menu (PR #2863)
  • [gui] Collapse single-child directory chains in resource tree (PR #2866)
  • [gui] Handle pasted file lists in file chooser (PR #2876)
  • [gui] Show simple message box for file exceptions (#2659)

Bug Fixes

  • [core] Insert generic casts for variable assigned from fields with known types (#2776)
  • [core] Handle Kotlin 1.9+ $ENTRIES pattern in enum restoration (PR #2814)
  • [core] Remove useless PHI for duplicate moves (#2813)
  • [core] Support enum restore for constructor without args (#2821)
  • [core] Handle null bounds in WindowLocation to prevent NPE on dialog dispose (PR #2826)
  • [core] Stop type inference on exception (prevent endless loop)
  • [core] Resolve class/package name conflicts on case-insensitive filesystems (PR #2828)
  • [core] Use correct property for OS arch checks (#2830)
  • [core] Use correct args copy/replace in wrapped insns (#2835)
  • [core] Resolve minor decompilation issues (#2835)
  • [core] Remove result in wrapped insntructions (#2835)
  • [core] Limit ternary wrap to one level (#2844)
  • [core] Disable ternary mod for duplicated blocks (#2844)
  • [core] Harden XML parser in FileTypeDetector against XML bomb DoS (PR #2851)
  • [core] Improve handler path check for regions
  • [core] Limit 'if' region out block to current scope (#2791)
  • [core] Build correct file path for class from default package (#2854)
  • [core] Cover more situations for SwitchOverString (PR #2860)
  • [core] Workaround for duplicated variables names index increment (#2868) …

Full release notes »

Technical details

PublisherSkylot
Version1.5.6
Release date2026-07-10
LicenseApache-2.0
Installer typezip
Architecturex86
Package IDSkylot.jadx
DependenciesAzul.Zulu.11.JRE

Install jadx from the command line

Install with Windows Package Manager
winget install --id=Skylot.jadx -e
Update to the latest version
winget upgrade --id=Skylot.jadx -e
Uninstall
winget uninstall --id=Skylot.jadx -e

Install jadx together with other apps in one command »

androiddecompilerdexjava

jadx version history

1.5.5 Feb 25, 2026

Major bug fixed
- Code area was updated from wrong thread causing many exception report popups, UI freezes and high CPU usage (#2798)
Other Bug Fixes
- [gui] Resolve possible NPE during project data loading (#2794)
- [gui] Stop token process on NULL token in JadxTokenMaker (#2798)
- [gui] Make the Split view checkbox correctly toggle between both modes (PR #2801)
- [core] Insert generic casts for variable assigned from fields with known types (#2776)
Full Changelog: v1.5.4...v1.5.5
Download files:
- jadx-gui-1.5.5-with-jre-win.zip - jadx-gui with bundled JRE
- jadx-gui-1.5.5-win.zip - jadx-gui Windows executable (system JRE must be installed)
- jadx-1.5.5.zip - cross-platform cli and gui bundle (system JRE must be installed)
For system JRE the latest version is always preferred, download at oracle.com

1.5.4 Feb 13, 2026

Main features
CLI:
- Implement config file load and save (#1731)
GUI:
- Change fonts size with UI zoom, use FlatLaf fonts bundle
- Use FontUtils.getCompositeFont() that supports CJK (PR #2751)
Plugins:
- Scripting plugin now external and not included in release bundle. Check jadx-script-kotlin for installation details.
- Support '.apks' files (PR #2647)
- Allow to use .zip as plugin artifact (with jars inside)
- Report plugin exceptions to plugin github project
All changes
Click to expand
Features
- [core] Allow to change limit for type inference updates (PR #2629)
- [core] Support '.apks' files (PR #2647)
- [core] Select better class from duplicates (#2701)(PR #2702)
- [cli] Implement config file load and save (#1731)
- [gui] Add option for UI zoom factor (#2720)
- [gui] Change fonts size with UI zoom, use FlatLaf fonts bundle
- [gui] Report plugin exceptions to plugin github project
- [plugins] Allow to use .zip as plugin artifact (with jars inside)
Bug Fixes
- [core] Minor fixes for type update limit option (#2629)
- [core] Avoid false positive throws (PR #2636)(#2475)
- [core] Resolve race condition in task executor
- [core] Add missing field code annotation for enum fields in switch-case
- [core] Resolve rename of inner class using full name (#1997)
- [core] Catch all exceptions in type update (#2668)
- [core] More file extensions added for file type detection (PR #2670)
- [core] Enhancements for abnormal situations (PR #2679) …

1.5.3 Sep 8, 2025

Features
- [aab] Enhance AAB parsing (PR #2557)
- [gui] New search options to search in text or binary resources (PR #2526)
- [gui] Allow view and edit input smali files
- [export] Use compileSdkVersion from manifest, update AGP to 8.10.1, other improvements (PR #2528)
Bug Fixes
- Correct loading for plain text XML files (PR #2537)
- Correct hex format for negative numbers (#2531)
- Use 'dev.dirs' JNI implementation only on x86-64 (#2578)
- Use proper newlines when generating CFG (PR #2592)
- [cli] Improve memory usage in jadx-cli (#2524)
- [cli] Add missing '-XX:+IgnoreUnrecognizedVMOptions' JVM flag (#2554)
- [gui] Workaround for wrap layout repaint issue in search dialog (PR #2521)
- [gui] Remove duplicate class of Frida snippet (PR #2525)
- [gui] Use var instead let for class variable in Frida script (PR #2527)
- [gui] Prevent IndexOutOfBoundsException in MethodSearchProvider (PR #2542)
- [gui] Disable debugger action if project not loaded (#2547)
- [gui] Minor UI fixes (PR #2549)
- [gui] Resolve NPE on code area close
- [gui] Fix NullPointerException in copyAllSearchResults (#2580) (PR #2581)
- [gui] Various tabs related fixes (PR #2595)
- [zip] Allow to load zip with duplicate names in entries
- [gui] Improve menu icon, such as 'Select in Tree' and 'Go to AndroidManifest.xml' buttons (PR #2543)
- [export] Disable targetSDKVersion checks in AndroidStudio (PR #2533)
- [export] Add missing ExpiringTargetSdkVersion in #2533 (PR #2538)
Full Changelog: v1.5.2...v1.5.3 …

Other versions

  • 1.5.1

Frequently asked questions

Is jadx free?

Yes. jadx is free and open-source software released under the Apache-2.0 license.

What is the latest version of jadx?

The latest version is 1.5.6, released on Jul 10, 2026.

Is it safe to download jadx?

The download button links to the official installer published on github.com, the same file Windows Package Manager installs. You can verify the downloaded file by comparing its SHA-256 checksum with 6e070b197d4e40275d10f6559a1661bdd2e2bb325e9ef4181c7ac1286b274d99.

Which Windows versions does jadx support?

jadx runs on Windows and is available for 32-bit (x86) systems.

How do I uninstall jadx?

Open Settings › Apps › Installed apps, find jadx and select Uninstall. From the command line, run winget uninstall --id=Skylot.jadx -e.

Is there a portable version of jadx?

Yes. jadx is available as a portable ZIP archive (jadx-gui-1.5.6-win.zip, 32-bit (x86)) that runs without installation. Copy it to any folder or USB drive and run it from there.