How jadx is put together
JADX is a Java-based Dex-to-Java decompiler distributed as both a CLI tool (jadx) and a Swing desktop GUI (jadx-gui). The repo is a multi-module Gradle project: jadx-core contains the decompilation engine and public API (JadxDecompiler), jadx-cli wraps it with JCommander-based argument parsing/config, and jadx-gui provides the interactive UI with search, smali debugging, and project management. Input parsing (dex, java, smali, raung, aab/apk/xapk formats) is decoupled into plugin modules under jadx-plugins that plug into the core via a plugin manager, while shared utilities live in jadx-commons (zip handling, app env/files). Data flow: input files are loaded by input plugins through security-checked zip/XML readers, converted to an internal IR in jadx-core, decompiled to Java source (or JSON), and written out or rendered in the GUI; deobfuscation mappings can be applied from multiple formats.
Languages
Frameworks
Infrastructure
Major components
jadx-core
The decompilation engine: public API (JadxDecompiler, JadxArgs, JavaClass), bytecode-to-Java conversion pipeline, resource decoding, deobfuscation, and the plugin manager.
jadx-cli
Command-line front-end handling argument parsing via JCommander, config persistence, logging control, single-class mode, call-graph export, and environment-variable security toggles.
jadx-gui
Desktop Swing GUI offering syntax-highlighted code viewing, navigation, full-text search, smali debugger integration, i18n resources, and project settings.
jadx-commons/jadx-zip
Shared zip-file reading utilities including zip-security implementations (entry-count limits, bomb detection, DisabledZipSecurity).
jadx-commons/jadx-app-commons
Shared application environment helpers for env-var access (JadxCommonEnv), temp/cache/config file locations.
jadx-plugins/* (input plugins)
Format-specific loaders (jadx-dex-input, jadx-java-input, jadx-smali-input, jadx-raung-input, jadx-aab-input, jadx-apkm-input, jadx-xapk-input, jadx-java-convert) that feed inputs into the core.
jadx-plugins/jadx-rename-mappings & jadx-kotlin-metadata
Plugins that enrich decompilation with external rename mappings (Tiny/Enigma formats) and Kotlin metadata analysis.
jadx-plugins-tools / buildSrc
Build-time infrastructure: shared Gradle convention scripts (jadx-java, jadx-kotlin, jadx-library) and tooling for building/publishing plugins.
Two GUI fixes landed this week: exporting whole packages as folders now saves correctly, and the Chinese translation got some wording improvements.
5 weeksWeek of 2026-08-17
Week of 2026-08-17latest
Two GUI fixes landed this week: exporting whole packages as folders now saves correctly, and the Chinese translation got some wording improvements.
Week of 2026-08-03
This week made it easier to plug in Android devices (some device IDs were being rejected) and quietly updated a behind-the-scenes build tool.
Week of 2026-07-27
The app now records extra information about each build internally, and a GUI glitch where long chains of single folders collapsed awkwardly was fixed.
Week of 2026-07-20
A big week for Windows users: the app can now be packaged as a proper Windows .msi installer, alongside a fix so language settings apply correctly at startup.
Week of 2026-07-13
A small but handy infrastructure change: experimental builds are now uploaded to downloads directly instead of being wrapped in archives first.
Over the past few weeks, jadx's development focused on polishing the desktop app: fixing display and export quirks in the graphical interface, improving the Chinese translation, and making it easier to connect to Android devices over USB. On the distribution side, the team started building a Windows installer (.msi) package, added richer build metadata, and streamlined how test builds are uploaded for download.
Week by week
2026-08-17Two GUI fixes landed this week: exporting whole packages as folders now saves correctly, and the Chinese translation got some wording improvements.latest2 changes
Fix
Package folder export fixed
Exporting a package as a directory from the app now uses the correct save mode so the exported files come out right.
Fix
Better Chinese translations
Several on-screen messages in Simplified Chinese were reworded to read more naturally.
2026-08-03This week made it easier to plug in Android devices (some device IDs were being rejected) and quietly updated a behind-the-scenes build tool.2 changes
Fix
More Android devices recognized
Device serial numbers of 8 or 9 characters are no longer rejected when connecting an Android phone or tablet via adb.
Chore
Build tool updated
The automated build pipeline was bumped to a newer version of its .NET setup step — routine maintenance with no user-facing impact.
2026-07-27The app now records extra information about each build internally, and a GUI glitch where long chains of single folders collapsed awkwardly was fixed.2 changes
Feature
Richer build info file
Each release build now stores its bundle type in a dedicated resource file, with version details relocated there too — useful for troubleshooting and future updates.
Fix
Folder tree display fixed
Long chains of folders that each contain only one subfolder no longer collapse into confusing displays in the code tree.
2026-07-20A big week for Windows users: the app can now be packaged as a proper Windows .msi installer, alongside a fix so language settings apply correctly at startup.2 changes
Feature
Windows installer (.msi) support
The project can now produce a standard Windows installer package, making installation much simpler than unzipping files manually.
Fix
Language applied before settings load
The chosen interface language is now set before the app loads its saved configuration, preventing mismatched-language screens at startup.
2026-07-13A small but handy infrastructure change: experimental builds are now uploaded to downloads directly instead of being wrapped in archives first.1 change
Chore
Faster access to unstable builds
Test builds produced by the automation pipeline are uploaded straight to the artifact store without zipping, so people trying them out get them faster.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 0 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required