jadx v1.5.5 Release Notes
Release Date: 2026-02-25 // 3 months ago-
๐ 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
NULLtoken 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
Previous changes from v1.5.4
-
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
.zipas 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
.zipas 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)
- [core] Improve decoding errors handling (#2676)
- [core] Handle
OutOfMemoryErrorto correctly halt processing (#2676) - [core] Detect more for-each loops (also prevent issues with missing generics types) (PR #2689)
- [core] Keep generics while applying debug info (#2687)
- [core] Respect arg offset for type var mapping on invoke (PR #2698)
- ๐ [core] Extract common switch break, remove unreachable (#2697)
- [core] Improve common 'break' extract checks (#2697)
- [core] Correctly handle variable in ternary transform
- ๐ [core] Support 'break' extract for nested 'if' (#2697)
- ๐จ [core] Refactor and improve class duplicates removal (#2701)
- [core] Resolve edge cases for select best classes from duplicates (#2701)
- [core] Prevent endless loop in region maker on dead code with loops (#2715)
- [core] Add missing level info for jadx code comments (#2737)
- [core] Keep wide upcast for arith instructions (#2730)
- [core] Improve codegen methods for custom decompilation mode
- ๐ [core] Speed up file path security checks (PR #2745)
- [core] Terminate type inference on first stack overflow (#2744)
- ๐ [core] Add more checks to better find handler's end (PR #2749)
- [core] Avoid more false positive throws (PR #2752)
- โช [core] Improve switch over string restore (#2359)
- [aab-input] Correct check for '.aab' file (PR #2646)
- [cli] Distinguish JadxCLI error code (PR #2734)
- [dex-input] Use length in header for checksum, fix error in Dex v41 (PR #2711)
- ๐ [gui] Handle syntax parsing errors during search (#2669)
- 0๏ธโฃ [gui] Use simple token maker as default to avoid parsing error (#2669)
- โก๏ธ [gui] Update Chinese localization for various menu items (PR #2673)
- โก๏ธ [gui] Split loading and UI update for code area (#2682)
- [gui] Rework background executor to reduce delay for short tasks
- [gui] Prevent unlimited recursion in text search (#2685) (PR #2694)
- [gui] Use correct threads for code from close and reload actions (#2684)
- [gui] In comment dialog insert new line at current caret position (#2706)
- ๐ป [gui] Resolve exception in search dialog on project reload (#2714)
- [gui] Resolve NPE with smali breakpoint (#2717) (PR #2718)
- [gui] Do not enforce new nodes method for backward compatibility
- ๐ [gui] Don't init already loaded plugins while collecting options (#2727)
- ๐ [gui] Use FontUtils.getCompositeFont() that supports CJK (PR #2751)
- [gui] Load class code before resolving jump position to get corrent value
- [gui] Fix illegal ':' character in path when exporting resources.arsc/res
- [gui] Use resource short name when exporting a folder via context menu
- [gui] Use new resource class for files in arsc (#2771)
- [gui] Limit tabs title length, fix tooltips (#2771)
- [gui] Go to main activity and application class when class name was renamed by deobfuscator (PR #2779)
- ๐ [java-input] Support Java modified UTF-8 strings (PR #2654)
- [java-input] Fix
dup2_x1stack to regs conversion for wide types (#2755) - ๐ [kotlin-metadata] Upgrade to kotlin 2.2 metadata library (PR #2655)
- ๐ [plugins] Improve errors handling and reporting (#2597)
- โก๏ธ [plugins] Reduce plugins-list update checks
- ๐ [plugins] Use class with correct fields for plugins list entry
- [res] As workaround use INVALID_STRING_PLACEHOLDER when string offset is is negative (#2729)(PR #2739)
- ๐ [res] Prevent problems arising by parsing duplicate resource entries from resources.arsc (#2775)(PR #2777)
- [res] Back to the old correct resource ID calculation (PR #2788)
- ๐ [smali-input] Use synced list for threaded processing, improve inner classes handling
- [xapk] Use stream copy to prevent OOM on large files (#2619) (PR #2719)
- [zip] Check uncompressed size exceeds the maximum value of an integer (PR #2773)
Full Changelog : v1.5.3...v1.5.4
๐ New Contributors
- @huqiuser made their first contribution in #2646
- @duzhaokun123 made their first contribution in #2647
- @wech71 made their first contribution in #2654
- @histausse made their first contribution in #2702
- @RedArms made their first contribution in #2718
- @google-mirror made their first contribution in #2734