{"full_name":"skylot/jadx","owner":"skylot","name":"jadx","url":"https://github.com/skylot/jadx","description":"Dex to Java decompiler","homepage":"","topics":[],"language":"Java","license":"Apache-2.0","avatar":"https://avatars.githubusercontent.com/u/118523?u=22c9766bcd42e7f4968002bb79141bbfc1e3ce5d&v=4","created_at":"2013-03-18T17:08:21Z","pushed_at":"2026-11-08T21:20:36Z","metrics":{"stars":51735,"forks":5929,"watchers":862,"issues":2148,"prs":866,"releases":35,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":13},"growth":{"day":{"stars":25,"forks":7,"base_day":"2026-11-09"}},"history":{"dates":["2026-11-09","2026-11-10"],"stars":[51710,51735],"forks":[5922,5929],"watchers":[862,862],"issues_open":[null,null],"prs_open":[null,null]},"boards":{},"same_owner":[],"issues":[{"number":1628,"title":"java.lang.IllegalArgumentException: Comparison method violates its general contract!","comments":26,"created_at":"2022-08-11T07:46:36Z"},{"number":2970,"title":"Offering of help","comments":19,"created_at":"2026-09-30T18:43:21Z"},{"number":2842,"title":"Jadx seems to use a lot of memory.","comments":17,"created_at":"2026-04-04T15:01:56Z"},{"number":2119,"title":"[feature] Improve constant replacement by using android sdk libs","comments":14,"created_at":"2024-03-09T08:15:06Z"},{"number":1181,"title":"[core] Unable to complete the work within 24 hours，I don't know what went wrong。Please check the log~","comments":13,"created_at":"2021-05-28T01:47:19Z"},{"number":947,"title":"error: package com.xxx.a clashes with class of same name","comments":13,"created_at":"2020-06-04T17:14:47Z"},{"number":1882,"title":"[feature]JADX adds fernflower engine","comments":12,"created_at":"2023-05-26T07:09:17Z"},{"number":1537,"title":"[feature] Edit smali in Jadx-GUI and see live Java","comments":12,"created_at":"2022-06-15T23:33:22Z"}],"discussions":[{"number":3022,"title":"leer codigo","comments":1,"category":"General","created_at":"2026-10-19T05:00:38Z"},{"number":2967,"title":"Porting jadx to HarmonyOS NEXT PC via embedded JVM - Courtesy notice & name check","comments":2,"category":"Show and tell","created_at":"2026-09-28T13:41:14Z"},{"number":2965,"title":"Help tracing Samsung Photo Editor Generative Edit call chain","comments":1,"category":"Q&A","created_at":"2026-09-25T12:19:06Z"},{"number":2912,"title":"1.5.6","comments":0,"category":"Announcements","created_at":"2026-07-10T19:07:35Z"},{"number":2802,"title":"1.5.5","comments":2,"category":"Announcements","created_at":"2026-02-25T17:57:28Z"},{"number":2790,"title":"1.5.4","comments":0,"category":"Announcements","created_at":"2026-02-13T18:54:40Z"},{"number":2747,"title":"Automation of trace from function","comments":3,"category":"Q&A","created_at":"2026-01-18T04:35:03Z"},{"number":2742,"title":"Decrypting strings","comments":3,"category":"Q&A","created_at":"2026-01-08T15:00:39Z"}],"latest_release":{"name":"1.5.6","tag":"v1.5.6","published_at":"2026-07-10T19:07:35Z","body":"\r\n### Main features and fixes\r\n\r\nSecurity fixes:\r\n- Reject absolute or path to CWD for zip entries\r\n- Sanitize all string values for gradle scripts on export\r\n- Add missing escaping on summary page\r\n\r\nCore:\r\n- Use queue instead of recursion for type updates\r\n\r\nGUI:\r\n- Graph views, code pane sync, and more (PR #2784)\r\n- Collapse single-child directory chains in resource tree (PR #2866)\r\n- Handle pasted file lists in file chooser (PR #2876)\r\n- Show simple message box for file exceptions (#2659)\r\n\r\nAPI:\r\n- Allow to create input category node even if no matching files found (#2806)\r\n- New module/library for work with call graphs (#2890)\r\n\r\n### All changes\r\n<details>\r\n  <summary>Click to expand</summary>\r\n\r\n### Features\r\n\r\n- [core] Graph views, code pane sync, and more (PR #2784)\r\n- [core] Use queue instead of recursion for type updates\r\n- [core] New module/library for work with call graphs (#2890)\r\n- [gui] Add mimetype for desktop file\r\n- [gui] Open single loaded class after load\r\n- [gui] Add \"copy reference\" to context menu (PR #2863)\r\n- [gui] Collapse single-child directory chains in resource tree (PR #2866)\r\n- [gui] Handle pasted file lists in file chooser (PR #2876)\r\n- [gui] Show simple message box for file exceptions (#2659)\r\n\r\n### Bug Fixes\r\n\r\n- [core] Insert generic casts for variable assigned from fields with known types (#2776)\r\n- [core] Handle Kotlin 1.9+ $ENTRIES pattern in enum restoration (PR #2814)\r\n- [core] Remove useless PHI for duplicate moves (#2813)\r\n- [core] Support enum restore for constructor without args (#2821)\r\n- [core] Handle null bounds in WindowLocation to prevent NPE on dialog dispose (PR #2826)\r\n- [core] Stop type inference on exception (prevent endless loop)\r\n- [core] Resolve class/package name conflicts on case-insensitive filesystems (PR #2828)\r\n- [core] Use correct property for OS arch checks (#2830)\r\n- [core] Use correct args copy/replace in wrapped insns (#2835)\r\n- [core] Resolve minor decompilation issues (#2835)\r\n- [core] Remove result in wrapped insntructions (#2835)\r\n- [core] Limit ternary wrap to one level (#2844)\r\n- [core] Disable ternary mod for duplicated blocks (#2844)\r\n- [core] Harden XML parser in FileTypeDetector against XML bomb DoS (PR #2851)\r\n- [core] Improve handler path check for regions\r\n- [core] Limit 'if' region out block to current scope (#2791)\r\n- [core] Build correct file path for class from default package (#2854)\r\n- [core] Cover more situations for SwitchOverString (PR #2860)\r\n- [core] Workaround for duplicated variables names index increment (#2868)\r\n- [core] Resolve duplicated error attr in fallback codegen, allow to set whole attr list at once (#2842)\r\n- [core] Keep all dimensions for anewarray of an array element type (PR #2887)\r\n- [core] ImmutableList.lastIndexOf skipping index 0 (PR #2898)\r\n- [api] Allow to create input category node even if no matching files found (#2806)\r\n- [build] Set *nix executable permissions on start scripts (PR #2838)\r\n- [cli] In 'progress' log mode show issues from input plugins (#2803)\r\n- [gui] Update usage file data version (was changed in PR #2784)\r\n- [gui] Resolve possible NPE during project data loading (#2794)\r\n- [gui] Stop token process on `NULL` token in JadxTokenMaker (#2798)\r\n- [gui] Use UI thread for scroll in code (#2798)\r\n- [gui] Make the Split view checkbox correctly toggle between both modes (PR #2801)\r\n- [gui] Use UI thread for refreshStackFrameList in debugger view (PR #2807)\r\n- [gui] Use UI thread for adding logcat messages (#2811)\r\n- [gui] Update zh_CN translation (PR #2812)\r\n- [gui] Update zh_tw translation (PR #2818)\r\n- [gui] Move scripts leftover code, save tree state on script run\r\n- [gui] Resolve \"launchScriptPath\" is null\r\n- [gui] Localize code cache mode labels (PR #2825)\r\n- [gui] Use localized label for code cache preferences\r\n- [gui] Add file end line feed for exported code (PR #2836)\r\n- [gui] NullPointerException when changing line wrap mode (PR #2843)\r\n- [gui] Ensure all fonts are 'composite' (#2856)\r\n- [gui] "},"readme":true,"readme_zh":false,"news":[],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}