APK 的修改与精简

 2025-07-13 14:58:46    4263  

准备手机可以使用 MT 管理器

电脑可以使用 ApkTool:

安装 Java在 GitHub 仓库下载最新版本下载脚本将要解包的 apk 放在同一目录下运行 apktool d 安装包文件名.apk -o 输出文件夹 解码 apkAPK 包结构在精简 apk 之前,首先要了解一下它的结构。

【assets】这个文件夹主要放软件中的一些资源,比如图片,字体,一些其他的东西等,美化时可能会动它。

【lib】这个文件夹中放了软件运行所依赖的 so 库和一些其他的库。so 库文件分为不同的 CPU 架构,像 armeabi,armeabi-v7a, arm64-v8a,x86,x86_64,mips。

【META-INF】签名数据文件夹。我们在修改 apk 之后,要对 apk 进行重新签名才能安装。

【res】这就是精简 apk 的重点修改地方了。软件的布局信息几乎都在里面,包括一些软件的贴图、图标等

【AndroidManifest.xml】这个文件放置了软件的主要信息,其中有包名,版本,Activity,权限等等。该文件使用 Android 的二进制 XML 格式。

【classes.dex(多个)】这个就是软件的代码,编译之后我们只能以 Smali 的形式进行编辑。当然,用 t 可以将它转化成不完整的 Java 代码供我们参考。

【resourses.arsc】这里面是一些二进制的资源引用,通过它可以查资源的十六进制的引用值,方便修改 DEX。

精简 libarmeabi-v7a、arm64-v8a、armeabi、x86、x86_64 有什么区别?以下是 ChatGPT 给出的内容:

armeabi-v7a:基于 ARMv7 指令集的 CPU 架构,适用于大多数现代的 ARM 处理器。arm64-v8a:基于 ARMv8 指令集的 64 位 CPU 架构,适用于支持 64 位指令集的 ARM 处理器。armeabi:基于 ARMv5 指令集的 CPU 架构,适用于一些旧的 ARM 处理器。x86:基于 x86 指令集的 CPU 架构,适用于支持 x86 架构的处理器,比如 Intel 和 AMD 的处理器。x86_64:基于 x86-64 指令集的 64 位 CPU 架构,适用于支持 64 位指令集的 x86 处理器。现在大部分手机都支持 arm64-v8a 吧,自己看着留。

精简 res asstes删除广告插件主要有 bdx 开头的压缩包(百度)和 gdt_ 开头的文件夹(腾讯)

压缩图片、音频在压缩前要先看一下,不能预览的不要动

删除 abc\_ 开头的图片文件(这种一般都是自动生成的,开发者也不会调用)

精简 classes.dex resources.acrs剥离广告 sdk,用 proguard 工具啥的太高级了,还不会。听说有时候 arsc 越精简越大😅

精简 AndroidManifest.xml删掉无用 activity service permission 啥的。

常见的广告关键词:

qq.e(腾讯)ads.(通用).ad.(大部分是应用内置).mobad.(百度).mobads.(百度).bytedance.sdk.openadsdk.(穿山甲)sdk(带有 huawei,xiaomi,meizu,vivo,push 等字样的)sdk 要自行判断,比如微博的 sdk 删了会导致无法用微博登陆和分享,删淘宝可能会导致无法调用淘宝,删 alipay 可能导致无法调用支付宝支付,删带有手机型号的可能会导致无法使用手机运营商相关的服务等等

构建修改好的 apk运行 apktool b 文件夹 -o 新安装包文件名.apk 即可,注意,还要签名才能安装。


佛教不是迷信,开光与供奉的真实意义
东莞东到广州高铁查询
友情链接