一键导入
jadx-decompile
Use JADX to decompile JAR/APK/DEX/AAR files. Especially good for Android apps. Supports CLI batch decompilation and GUI browsing.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use JADX to decompile JAR/APK/DEX/AAR files. Especially good for Android apps. Supports CLI batch decompilation and GUI browsing.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
基于 Playwright MCP 的浏览器自动化测试,支持页面交互、录制回放、接口验证、结合后端代码做端到端测试。当用户提到浏览器测试、页面测试、UI测试、录制操作、自动化测试、playwright 时激活。
通过 Apache SkyWalking MCP Server 查询和分析应用性能指标,支持服务拓扑、链路追踪(Trace)、日志查询、MQE 指标表达式、告警查询、实例/端点分析等,帮助开发者快速定位性能瓶颈、异常链路和线上问题。当用户提到 skywalking、APM、链路追踪、trace、性能分析、慢接口、拓扑图、服务指标、P99、响应时间、吞吐量、错误率、告警 时激活。
通过 Apache SkyWalking MCP Server 查询和分析应用性能指标,支持服务拓扑、链路追踪(Trace)、日志查询、MQE 指标表达式、告警查询、实例/端点分析等,帮助开发者快速定位性能瓶颈、异常链路和线上问题。当用户提到 skywalking、APM、链路追踪、trace、性能分析、慢接口、拓扑图、服务指标、P99、响应时间、吞吐量、错误率、告警 时激活。
通过 Grafana Loki MCP Server 查询线上/测试环境日志,支持按服务名和关键词搜索、日志量统计、上下文日志获取、服务列表查询等,帮助开发者快速定位线上问题。当用户提到查日志、看日志、log、error、exception、线上报错、排查问题、Loki、Grafana 或具体服务名时激活。
基于 JProfiler 的 Java 性能与内存深度分析 Skill,支持 Heap Snapshot(.jps)、CPU Snapshot、Thread Dump、Allocation Recording 等离线分析,结合 JProfiler 命令行工具链实现自动化诊断,覆盖内存泄漏、CPU 热点、线程瓶颈、数据库慢查询、锁竞争等全方位性能问题。
专业的 Java 内存分析 Skill,基于 Eclipse MAT、jhat、jmap、jcmd 等工具,支持 Heap Dump(.hprof)、Thread Dump、GC Log 等文件的深度分析,能自动定位内存泄漏、大对象、线程死锁、GC 异常等问题,输出专业诊断报告。
| name | jadx-decompile |
| description | Use JADX to decompile JAR/APK/DEX/AAR files. Especially good for Android apps. Supports CLI batch decompilation and GUI browsing. |
| inclusion | manual |
使用 JADX 反编译 JAR/APK/DEX/AAR 文件,查看 Java 源码。
JADX 特别擅长 Android 相关文件(APK/DEX),同时也支持普通 JAR 包。
使用方式:在聊天中输入 #jadx-decompile 并提供文件路径。
#jadx-decompile
帮我反编译 D:/apk/some-app.apk 到 D:/output/
#jadx-decompile
用 JADX 查看 some-sdk.jar 中 com.example.SomeClass 的源码
#jadx-decompile
打开 JADX GUI 查看 D:/lib/some.aar
#jadx-decompile
反编译 classes.dex 文件
D:/dev/tools/decompile.bat
D:/dev/tools/jadx/D:/dev/tools/jadx/bin/jadx.batD:/dev/tools/jadx/bin/jadx-gui.bat查看环境信息:
D:/dev/tools/decompile.bat info
| JDK 版本 | 推荐 JADX | 说明 |
|---|---|---|
| JDK 8 | 1.4.7 | JADX 最后一个支持 Java 8 的版本 |
| JDK 11 | 1.5.5 | JADX 1.5.x 起最低要求 Java 11 |
| JDK 17 | 1.5.5 | LTS,构建 JADX 源码要求 JDK 17+ |
| JDK 21 | 1.5.5 | LTS,推荐 |
| JDK 22-24 | 1.5.5 | 非 LTS,正常支持 |
| JDK 25 | 1.5.5 | LTS,2025-09-16 GA,推荐 |
JDK 25 是最新的 LTS 版本(GA 2025-09-16),新增 Compact Object Headers、Scoped Values、Flexible Constructor Bodies 等特性。JADX 在该版本运行正常。
JADX 1.4.7 的
jadx.bat中-XX:MaxRAMPercentage=70.0不兼容 Java 8,decompile.bat会自动处理。
# 1. 下载统一启动脚本
curl -L -o D:/dev/tools/decompile.bat https://raw.githubusercontent.com/liu294100/code-doctor-check/refs/heads/main/java-doctor-check/decompile.bat
# 2. 下载 JADX(二选一)
# Java 8:
curl -L -o D:/dev/tools/jadx-1.4.7.zip https://github.com/skylot/jadx/releases/download/v1.4.7/jadx-1.4.7.zip
# Java 11+(推荐):
curl -L -o D:/dev/tools/jadx-1.5.5.zip https://github.com/skylot/jadx/releases/download/v1.5.5/jadx-1.5.5.zip
# 解压
Expand-Archive -Path D:/dev/tools/jadx-1.5.5.zip -DestinationPath D:/dev/tools/jadx -Force
# 3.(可选)CFR 反编译器
curl -L -o D:/dev/tools/cfr.jar https://github.com/leibnitz27/cfr/releases/download/0.152/cfr-0.152.jar
多版本共存:
D:/dev/tools/
├── decompile.bat # 统一入口(自动选版本)
├── jadx/ # 1.5.5(JDK 11+)
├── jadx-1.4.7/ # 1.4.7(JDK 8 备用)
└── cfr.jar
.apk .dex .jar .class .aar .aab .xapk .apkm .smali .zip .arsc .jadx.kts
| 参数 | 说明 |
|---|---|
-d, --output-dir | 输出目录 |
-ds, --output-dir-src | 源码输出目录 |
-dr, --output-dir-res | 资源输出目录 |
-r, --no-res | 不反编译资源 |
-s, --no-src | 不反编译源码 |
-j, --threads-count | 线程数(默认 16) |
-e, --export-gradle | 导出为 Gradle 项目 |
--show-bad-code | 显示反编译失败的代码 |
--deobf | 启用反混淆 |
--single-class <name> | 只反编译指定类 |
| 参数值 | 说明 |
|---|---|
auto | 自动选择最佳方式(默认) |
restructure | 还原代码结构(标准 Java) |
simple | 简化指令(线性,含 goto) |
fallback | 原始指令,不做修改 |
用法:--decompilation-mode restructure
| 参数 | 说明 |
|---|---|
--deobf | 启用反混淆 |
--deobf-min | 最短名称长度,更短则重命名(默认 3) |
--deobf-max | 最长名称长度,更长则重命名(默认 64) |
--mappings-path | 映射文件路径(支持 Tiny/Enigma/ProGuard/SRG 等) |
| 参数 | 说明 |
|---|---|
--no-imports | 不使用 import,写全限定名 |
--no-debug-info | 不解析调试信息 |
--no-inline-anonymous | 不内联匿名类 |
--escape-unicode | 转义非 Latin 字符 |
--output-format | java(默认)或 json |
--comments-level | 注释级别:error/warn/info/debug/none |
--log-level | 日志级别:quiet/progress/error/warn/info/debug |
--config <file> | 从 JSON 配置文件加载选项 |
--save-config <file> | 保存当前选项为配置文件 |
# 跳过 dex 校验(处理损坏的 APK)
-Pdex-input.verify-checksum=no
# Java 字节码转换模式
-Pjava-convert.mode=both # dx/d8/both
# Kotlin 元数据利用
-Pkotlin-metadata.class-alias=yes
-Pkotlin-metadata.method-args=yes
从用户消息中提取:
D:/tmp/jadx-output)cli(默认)/ gui / single# 基本反编译
D:/dev/tools/decompile.bat jadx -d "<输出目录>" "<输入文件>"
# 完整参数(混淆 APK 推荐)
D:/dev/tools/decompile.bat jadx -d "<输出目录>" --deobf --show-bad-code "<输入文件>"
# 只反编译单个类
D:/dev/tools/decompile.bat jadx --single-class "com.example.Target" --single-class-output "Target.java" "<输入文件>"
# 跳过资源加速
D:/dev/tools/decompile.bat jadx -d "<输出目录>" --no-res -j 8 "<输入文件>"
# 导出为 Gradle 项目
D:/dev/tools/decompile.bat jadx -e -d "<输出目录>" "<输入文件>"
输出目录结构:
<输出目录>/
├── sources/ # Java 源码
│ └── com/example/
│ ├── MainActivity.java
│ └── utils/Helper.java
└── resources/ # 资源(APK/AAR 才有)
├── AndroidManifest.xml
├── res/
└── assets/
# 查看指定类
type "<输出目录>\sources\com\example\MyClass.java"
# 搜索类文件
dir /s /b "<输出目录>\sources\*.java" | findstr /i "keyword"
# 搜索代码内容
findstr /s /i "someMethod" "<输出目录>\sources\*.java"
D:/dev/tools/decompile.bat jadx-gui "<文件路径>"
GUI 功能:代码高亮、跳转声明、查找引用、全文搜索、Smali 调试器、Frida hook 代码生成、反混淆、导出 Gradle 项目。
🔍 JADX 反编译结果:com.example.MyClass
═══════════════════════════════════════════
来源:some-app.apk
工具:JADX 1.5.5
输出目录:D:/tmp/jadx-output/
═══════════════════════════════════════════
D:/dev/tools/decompile.bat jadx -d D:/tmp/jadx-output/myapp --show-bad-code D:/apk/myapp.apk
type D:\tmp\jadx-output\myapp\resources\AndroidManifest.xml
D:/dev/tools/decompile.bat jadx -d D:/tmp/jadx-output/app --deobf --show-bad-code obfuscated.apk
D:/dev/tools/decompile.bat jadx -d D:/tmp/jadx-output/lib --no-res some-lib.jar
D:/dev/tools/decompile.bat jadx --single-class "com.example.Service" --single-class-output D:/tmp/Service.java app.apk
D:/dev/tools/decompile.bat jadx -d D:/tmp/out --show-bad-code -Pdex-input.verify-checksum=no broken.apk
# 保存配置
D:/dev/tools/decompile.bat jadx --save-config my-config -d out --deobf --show-bad-code app.apk
# 复用配置
D:/dev/tools/decompile.bat jadx --config my-config app.apk
| 场景 | 推荐 | 原因 |
|---|---|---|
| Android APK/DEX/AAR/AAB | JADX | 原生支持,含资源解析 |
| 普通 Java JAR | CFR(#jar-decompile) | 源码质量更高 |
| 需要 GUI 浏览 | JADX GUI | 可视化 + 调试器 |
| 需要 Frida Hook | JADX GUI | 内置 Frida snippet 生成 |
| 混合使用 | 两者配合 | JADX 看结构,CFR 看细节 |
--no-res 跳过资源可加速--deobf --show-bad-code 组合decompile.bat 自动处理版本检测和 JVM 参数适配