What's Changed
- fix: resolve search timeout on large APKs and add progress tracking by @mostafaNazari702 in #94
Release Notes: JADX AI MCP v6.4.0
This major release focuses on drastically improving stability, performance, and reliability when analyzing massive Android applications. We've overhauled the search infrastructure to eliminate timeouts, fixed severe native memory leaks, and added precise refactoring capabilities for overloaded methods.
A huge shoutout to @mostafaNazari702 for their massive contributions to the search timeout and progress tracking features in this release! 🎉
What's New & Improved
Performance & Stability (Handling Massive APKs)
- Metadata-Based Search & Progress Polling: Resolved a critical issue where the MCP server would timeout while searching through extremely large APKs. The server now leverages metadata-based scanning instead of full decompilation and utilizes a dynamic polling mechanism (
/search-progress) to keep the connection alive while reporting real-time progress back to the AI model. (Thanks to @mostafaNazari702! PRs #94, #54) - Native Memory Leak Fix: Fixed a severe native memory exhaustion bug by ensuring
DeflaterandInflaterstreams within theDecompilationCacheare explicitly closed (.end()). - Thread Contention Eliminated: Replaced
Math.random()withUUID.randomUUID()for search ID generation, eliminating lock contention and collisions in parallel stream workers during heavy concurrent searches. - Cache Optimizations: Fixed a double-lookup bug in
ClassRoutesthat caused redundant CPU decompression overhead and artificially inflated cache hit statistics.
Refactoring & Search Precision
- Overloaded Method Disambiguation (Issue #89): The
get_method_by_nameandrename_methodMCP tools now support an optionalmethod_signatureparameter. This allows AI models and users to precisely identify, read, and refactor specific methods when multiple overloads exist (e.g., distinguishing betweenonCreate(Bundle)andonCreate(Bundle, PersistableBundle)).
Bug Fixes
- Startup Proxy Crash (Issue #99): Fixed a bug where the MCP server would immediately crash on startup if the host system had a dirty
no_proxy(or other proxy-related) environment variable containing non-printable characters or trailing newlines. The server now thoroughly sanitizes the environment before dependencies are loaded.
Core Upgrades
- Upgraded underlying dependency to JADX Core v1.5.5.
New Contributors
- @mostafaNazari702 made their first contribution in #94
Full Changelog: v6.3.0...v6.4.0
Checksum SHA256:
- jadx-mcp-server-6.4.0.zip:
4dcfa6137f090ae46f88ff5a190a7efc6f578172a68c4ba1dd85974ed9d3da9f - jadx-ai-mcp-6.4.0.jar:
46f1c76b3ebdfdf1d0e4792a0e1bc1bc404b29d79c00606e89e28a25726b67c7