← All reportsPublic report

skylot/jadx

Dex to Java decompiler

50k stars Java View on GitHubprofiled 11d ago
Try GitZoid
9PRs this week
6Contributors
0Deps scanned
0Issues found
01 · Repo overview

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

JavaKotlin

Frameworks

Swing (GUI)SLF4J/Logback (logging)JCommander (CLI)Gradle

Infrastructure

GitHub Actions CI (build-artifacts.yml badge)GitLab CI (.gitlab-ci.yml)JitPack (.jitpack.yml)

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.

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.

03 · Security check

Dependencies and code review

0 dependencies scanned

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