Apktool 安装与配置完整指南:APK 逆向工具从源码快速上手

Apktool 安装与配置完整指南:APK 逆向工具从源码快速上手

【免费下载链接】ApktoolA tool for reverse engineering Android apk files项目地址: https://gitcode.com/GitHub_Trending/ap/Apktool

拿到一个闭源 APK,想改个字符串、挪个布局、动一段逻辑,就得把它拆开。Apktool 干的就是这件事:把 APK 反编译成资源 XML、清单和 Smali 字节码,改完再重新打包回可安装的 APK。装好它,反编译、改资源、重打包这条流水线就能一次跑通。

30 秒判断要不要装

  • 要改 APK 里的资源、清单、Smali 代码并重新打包:需要它。
  • 只读资源、想跑完整 Android 工程、要调试运行:用不上它,那是 IDE 和 Android Studio 的活。

依赖就一个:JDK 17+(构建主分支必需)。命令行终端你已经有了;Android SDK 不参与构建,可以先不管。

准备工作:只查两件事

1. 查 JDK,17 起

java -version

✅ 看到17.x或更高的版本号就过关。主分支强制 JDK 17+,低版本会在配置阶段直接拒绝。没装就从发行版源装一个:

sudo apt install openjdk-17-jdk

2. 拿到源码

git clone https://gitcode.com/GitHub_Trending/ap/Apktool cd Apktool

仓库里自带gradlew包装脚本,不用另装 Gradle。

从源码构建到装进系统

1. 一条命令出 fat jar

./gradlew build

这步把 5 个模块编译完,产出一个依赖全内置的可执行 jar(shadowJar任务,build默认任务之一)。💡 首次跑会拉大量依赖,网络慢时耐心等。

2. R8 再压一遍

./gradlew proguard

这步用 R8 对 fat jar 做发布优化,输出build/libs/apktool_<版本号>.jar。主分支当前版本号是3.1.0,所以产物大致叫apktool_3.1.0-SNAPSHOT.jar。

ls brut.apktool/apktool-cli/build/libs/

确认 jar 已生成。R8 卡住的话,直接改用第一步的 fat jar 也行,命令一致。

3. 放进系统目录并命名

脚本scripts/linux/apktool只认同目录下的apktool.jar:

sudo install -m 0755 scripts/linux/apktool /usr/local/bin/apktool sudo install -m 0755 brut.apktool/apktool-cli/build/libs/apktool_*.jar /usr/local/bin/apktool.jar

install一把完成复制 + 赋权,两个文件都进 PATH。

一条命令验证装好

apktool --version

✅ 看到3.1.0-...开头的版本号说明装好了。

跑通第一个真实任务

假设你手上有个test.apk:

apktool d test.apk

产出test/目录:AndroidManifest.xml、res/下的资源、smali/下的字节码。随便改一行res/values/strings.xml,再重打包:

apktool b test

最终 APK 落在dist/test.apk,可以adb install直接装。到这里,解包→改→重打包的整条流水线就跑通了。

踩坑速查

构建时直接报错

Building Apktool requires JDK 17 or newer

JDK 版本低于 17。装 17+ 再跑:

sudo apt install openjdk-17-jdk

proguard跑完没有apktool_*.jar

R8 依赖或规则异常。降级用 fat jar:

java -jar brut.apktool/apktool-cli/build/libs/apktool-cli-3.1.0-SNAPSHOT.jar --version

apktool: command not found

jar 没进 PATH,或脚本找不到同目录的apktool.jar。核对:

ls -l /usr/local/bin/apktool /usr/local/bin/apktool.jar

下一步

解包用到共享框架资源报FrameworkNotFound时,先用apktool if framework.apk装框架,再回头解码。想改内部行为可以看 brut.apktool/apktool-lib/:ApkDecoder负责解包,ApkBuilder负责重打包,brut.j.zip管 zip 读写。

【免费下载链接】ApktoolA tool for reverse engineering Android apk files项目地址: https://gitcode.com/GitHub_Trending/ap/Apktool

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Citra 3DS模拟器:3 步在电脑上跑通 3DS 游戏

Citra 3DS模拟器:3 步在电脑上跑通 3DS 游戏

Citra 3DS模拟器&#xff1a;3 步在电脑上跑通 3DS 游戏 【免费下载链接】citra A Nintendo 3DS Emulator 项目地址: https://gitcode.com/GitHub_Trending/ci/citra &#x1f3ae; 没有掌机也能玩 3DS 游戏 手边只有电脑&#xff0c;抽屉里却有一堆 3DS 卡带。Citra 3…

2026/10/21 1:23:59 阅读更多 →
万有递归元:用递归思维重构三观的元理论指南

万有递归元:用递归思维重构三观的元理论指南

递归这个词这两年被各路文章讲得快包浆了&#xff0c;但你真想把递归当成一种审视自己三观的工具时&#xff0c;会发现市面上大多数讨论都停在"函数调用自己"这个层面&#xff0c;再往深走就没人愿意趟了。我第一次接触"万有递归元"这个概念时&#xff0c;…

2026/10/21 1:23:59 阅读更多 →
终极隐私保护指南:如何通过awesome-shizuku守护你的Android数据安全

终极隐私保护指南:如何通过awesome-shizuku守护你的Android数据安全

终极隐私保护指南&#xff1a;如何通过awesome-shizuku守护你的Android数据安全 在Android设备使用过程中&#xff0c;隐私泄露和数据安全问题日益突出。awesome-shizuku作为精选的Android应用列表&#xff0c;汇集了众多利用Shizuku技术的优质应用&#xff0c;为用户提供了强…

2026/10/21 1:23:59 阅读更多 →

最新新闻

Django数据可视化实践:超市销售系统全流程开发与热词分析

Django数据可视化实践:超市销售系统全流程开发与热词分析

毕业设计做到一半才意识到"选对题"比“写代码”重要得多——这是我在带几个应届生做完整套毕设流程后最深的体会。今天这篇想好好拆解一个很有代表性的题目&#xff1a;基于PythonDjango的超市销售系统&#xff0c;以及其中数据可视化模块的具体实现。这个选题好在哪…

2026/10/21 2:01:38 阅读更多 →
iPhone 模拟器实测:Madeira 在 iOS 跑 x86-64 Windows 游戏拆解

iPhone 模拟器实测:Madeira 在 iOS 跑 x86-64 Windows 游戏拆解

iPhone 模拟器实测&#xff1a;Madeira 在 iOS 跑 x86-64 Windows 游戏拆解 【免费下载链接】Madeira Run x86-64 Windows PC games on jailed iOS via FEX-Emu Wine DXMT 项目地址: https://gitcode.com/GitHub_Trending/mad/Madeira App Store 里搜不到它&#xff0…

2026/10/21 2:01:38 阅读更多 →
PLC实战经验清单:从硬件接线到程序调试的90条避坑指南

PLC实战经验清单:从硬件接线到程序调试的90条避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 2:01:38 阅读更多 →
零成本用GitHub Pages部署HTML5游戏

零成本用GitHub Pages部署HTML5游戏

零成本用GitHub Pages部署HTML5游戏 【免费下载链接】github-pages Create a site or blog from your GitHub repositories with GitHub Pages. 项目地址: https://gitcode.com/GitHub_Trending/gi/github-pages 想让玩家在线试玩你的游戏&#xff0c;是不是得先租台服务…

2026/10/21 2:01:38 阅读更多 →
Cx-Programmer中ST语言编程实战:从梯形图到结构化文本

Cx-Programmer中ST语言编程实战:从梯形图到结构化文本

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 2:01:38 阅读更多 →
自动驾驶黄埔军校:4500人培养体系与行业技术扩散

自动驾驶黄埔军校:4500人培养体系与行业技术扩散

在自动驾驶这行混久了&#xff0c;你会发现一个很有意思的现象&#xff1a;圈子里提到“黄埔军校”四个字&#xff0c;大家不用解释就知道说的是哪家。前阵子跟几个老朋友闲聊&#xff0c;有人随口说了句“现在从那儿出来的&#xff0c;加起来得有4500人了”&#xff0c;在场的…

2026/10/21 2:00:38 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事&#xff1a;AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里&#xff0c;按宣传口径&#xff0c;本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”&#xff0c;而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起&#xff1a;用户到底在追求什么“封号重开”这四个字&#xff0c;放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流&#xff0c;背后是大量的时间和精力成本。正常情况下&#xff0c;没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”&#xff0c;而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时&#xff0c;就意识到&#xff1a;单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →