Apktool 是一个用于逆向工程第三方、闭源、二进制 Android 应用的工具。它能把资源解码到接近原始的形式、在你修改后重新打包,还支持逐步调试 smali 代码。它以工程化的目录结构组织应用,并自动化构建 apk 等重复任务。
官方强调:Apktool 不用于盗版或任何非法用途;可用于本地化、增加功能、适配自定义平台等正当用途。
一、项目官方信息
| 项目 | 信息 |
|---|---|
| GitHub 仓库 | https://github.com/iBotPeaches/Apktool |
| 官方网站 | https://apktool.org |
| 开源协议 | Apache-2.0 |
| 主要语言 | Java(约 98.5%) |
| Star 数 | 约 27.0k |
| 当前分支 | main(Apktool 3.x);2.x 为 2.x 维护分支 |
二、官方图片
Apktool 仓库预览图:

三、环境要求
- Java 8 或更高(运行 Apktool 必需)。
- 下载
apktool.jar与启动脚本(Linux/macOS 是apktool,Windows 是apktool.bat)。 - 重新打包后还需 apksigner 或 uber-apk-signer 签名。
四、完整安装步骤
1. 下载
到 https://apktool.org 或镜像 https://connortumbleson.com/apktool 下载:
apktool.jar- 启动脚本
apktool(Linux/macOS)或apktool.bat(Windows)。
2. Linux/macOS 安装
把 apktool.jar 重命名为 apktool.jar,与脚本一起放到 /usr/local/bin:
sudo cp apktool /usr/local/bin/
sudo cp apktool.jar /usr/local/bin/
sudo chmod +x /usr/local/bin/apktool
3. Windows 安装
把 apktool.bat 与 apktool.jar 放到任意目录,并把该目录加入 PATH。
4. 验证
apktool --version
5. 从源码构建
见 https://apktool.org/docs/build ,需要 JDK 与 Maven/Gradle 环境。
五、使用方法
解码(反编译)
apktool d app.apk
或:
apktool decode app.apk -o app_dir
解码后目录结构:
app_dir/
├── AndroidManifest.xml
├── apktool.yml
├── original/
├── res/ # 资源
├── smali/ # smali 代码(多 dex 会是 smali_classesN)
└── unknown/
常用解码选项:
apktool d -s app.apk # 不解码 sources,只复制 dex
apktool d -r app.apk # 不解码 resources
apktool d -f app.apk # 强制覆盖输出目录
重新打包
apktool b app_dir -o app_new.apk
安装到设备
apktool if framework-res.apk # 安装 framework 资源(必要时)
调试 smali
Apktool 支持逐步调试 smali 代码,配合 IDE 插件可在 smali 行打断点调试。
其他常用命令
apktool --version
apktool --help
apktool empty-framework-dir # 清空 framework 缓存
六、常见问题 FAQ
1. 打包后安装失败?
重新打包出的 apk 未签名。用 apksigner 或 uber-apk-signer 对 app_new.apk 签名后再安装。
2. 解码后资源乱码/缺失?
确认用的是 Apktool 3.x(main 分支);老版本对新 Android 版本资源支持不全。
3. 提示 framework 相关错误?
执行 apktool if framework-res.apk 安装对应设备的 framework 资源。
4. 多 dex 应用 smali 在哪?
多 dex 会拆成 smali/、smali_classes2/、smali_classes3/ 等目录。
5. 不想反编译 dex,只想要资源?
用 apktool d -s app.apk,跳过反编译直接复制 dex。
6. 从源码构建? 参考 https://apktool.org/docs/build ,需要 JDK 与构建工具。
七、跳转链接
- GitHub 仓库:https://github.com/iBotPeaches/Apktool
- 官方网站:https://apktool.org
- 文档:https://apktool.org/wiki/the-basics/intro
- 下载:https://bitbucket.org/iBotPeaches/apktool/downloads
- 构建文档:https://apktool.org/docs/build