
30秒速读:想看 App 里某个功能是怎么实现的?本篇是 Jadx 新手入门:装好 Java、拖入 APK、浏览代码、搜索关键代码,半小时从零上手 APK 反编译。
| 软件信息 | 详情 |
|---|---|
| 版本 | 1.5.0(本文基于该版本,具体以 GitHub 发布页说明为准) |
| 平台 | Windows / macOS / Linux |
| 语言 | 中文 |
| 大小 / 更新日期 | 以 GitHub 发布页说明为准 |
三种用法对比:结论先行
结论先行:新手无脑用图形界面;要批量处理一堆 APK 再学命令行;想在 Android Studio 里整体看就导出 Gradle 工程。
| 用法(各版本通用) | 适用场景 | 上手难度 | 推荐度 |
|---|---|---|---|
| 图形界面 jadx-gui | 新手学习、单文件分析 | 低 | ★★★ 推荐 |
| 命令行 jadx | 批量反编译多个 APK | 中 | ★★☆ 按需 |
| 导出 Gradle 工程 | 导入 Android Studio 整体浏览 | 中 | ★★☆ 按需 |
安装步骤:关键卡点 3 个
- 先装 Java:Jadx 运行依赖 Java 环境,建议安装较新的 JDK,具体版本要求以 GitHub 发布页说明为准——这是新手卡住最多的地方;
- 从 GitHub Releases 下载对应系统的压缩包并解压:Jadx 本体是开源的(GitHub:skylot/jadx),无需安装,解压即用;
- 启动图形界面:Windows 双击
jadx-gui.bat,Mac / Linux 运行jadx-gui;第一次打开可能会弹安全提示,确认放行即可。
第一步:把 APK 拖进去
用法简单到离谱:直接把 .apk 文件拖到 Jadx 窗口里,或者用”文件 – 打开”选择 APK。Jadx 会自动开始反编译,APK 越大等待越久,几十 MB 的应用一般一两分钟能完成。左下角状态栏会显示进度,完成后左侧出现包结构树。
第二步:浏览代码结构
左侧是反编译后的包目录,结构和 Android 开发的源码包一一对应:
- 找应用自己的代码:一般在以应用包名开头的目录下,比如
com.example.app,第三方库的代码通常在其他包名下; - 双击类名:右侧显示反编译后的 Java 代码,可读性相当不错,方法和变量名基本能还原;
- 看资源文件:左侧的
res目录可以看布局、图片、字符串,AndroidManifest.xml能看到权限声明和 Activity 注册信息。
新手建议先从 AndroidManifest.xml 入手,找到感兴趣的 Activity 名字,再去包结构里定位对应的类,顺藤摸瓜。
第三步:搜索关键代码
这是 Jadx 最实用的功能。想找某个接口地址、密钥字样或功能逻辑,不用一个个文件翻:
- 按类名搜索:快捷键 Ctrl+N(Mac 是 Cmd+O),输入类名关键字快速定位;
- 全文文本搜索:用”导航 – 文本搜索”(Ctrl+Shift+F),在全部反编译代码里搜关键词,比如搜
http找网络请求,搜password、token找敏感字段; - 跳转定义:按住 Ctrl 点击方法名或变量,可以跳转到定义处,顺着调用链一步步跟进去。
第四步:导出反编译结果
分析完如果想留存或用其他工具继续看,可以导出:
- 文件 – 全部保存:把反编译出的全部源码导出为文件夹;
- 文件 – 另存为 Gradle 项目:导出为可导入 Android Studio 的工程结构,方便整体浏览。
命令行用户也可以用 jadx -d 输出目录 目标.apk 批量处理。
新手必改的 3 个设置
设置一:反编译线程数(通用建议)
在首选项里把线程数按 CPU 核心数给足。体感差别:几十 MB 的大 APK 反编译从几分钟缩到一两分钟。具体入口以 GitHub 说明为准。
设置二:代码字体与主题(通用建议)
换成等宽大字体 + 深色主题。体感差别:长时间看代码眼睛不累,括号对齐一眼看清。
设置三:文件关联 APK(通用建议)
把 .apk 关联到 jadx-gui。体感差别:双击 APK 直接开工,不用每次拖文件。
新手常踩的坑
- 加固过的 APK 看不懂:很多商业 App 做了加固或混淆,反编译出来可能是乱码类名或空壳代码,这是正常现象,Jadx 不是万能钥匙;
- 反编译报错或卡住:换个 Jadx 版本试试,新版对新格式 APK 的兼容性更好;
- 只看 Java 层不够:核心逻辑如果在 so(Native 层),Jadx 只能看到 Java 层的调用,需要配合其他工具分析。
常见问题与注意事项
系统要求是什么?
需要 Java 运行环境,具体 JDK 版本要求以 GitHub 发布页说明为准;Windows / macOS / Linux 均有对应版本。
反编译出来是乱码或空壳?
加固或混淆过的商业 App 会这样,是正常现象,Jadx 不是万能钥匙。
只看 Java 层不够怎么办?
核心逻辑如果在 so(Native 层),Jadx 只能看到 Java 层的调用,需要配合其他工具分析。
反编译报错或卡住排查
换个 Jadx 版本试试,新版对新格式 APK 的兼容性更好;仍不行先确认 Java 版本符合 GitHub 发布页要求。
合规提醒
反编译仅用于学习研究,比如学习优秀 App 的架构设计、排查自己应用的兼容问题。请勿用于破解收费功能、提取他人商业机密或绕过安全机制,相关行为可能触犯法律,后果自负。
相关下载

关注「软件教程管家」
回复软件名即取即下:网盘下载链接 + 提取码,一步直达,不用再跳转。
本站资源仅供个人学习交流,请勿用于商业用途。软件与资料版权归原作者所有;如有侵权,请通过公众号「软件教程管家」联系我们,我们将在 24 小时内下架处理。查看免责声明 ›







